Пример #1
0
        protected override bool ProcessResponse(ResponseType response)
        {
            if (response == ResponseType.Ok)
            {
                chosenFilename = (Dialog as FileChooserDialog).Filename;
                chosenEncoding = encodingComboBox.ChosenEncoding;

                if (Base.Config.FileOpenEncodingOption == ConfigFileOpenEncodingOption.RememberLastUsed)
                {
                    int activeAction = encodingComboBox.ActiveSelection;
                    ConfigFileOpenEncoding activeOption = (ConfigFileOpenEncoding)Enum.ToObject(typeof(ConfigFileOpenEncoding), activeAction);
                    if (((int)activeOption) >= ((int)ConfigFileOpenEncoding.Fixed))
                    {
                        Base.Config.FileOpenEncodingFixed = chosenEncoding.Code;
                    }
                    else
                    {
                        Base.Config.FileOpenEncoding = activeOption;
                    }
                }

                if ((videoComboBox != null) && (videoComboBox.Active > 0))
                {
                    int videoFileIndex = videoComboBox.Active - 2;
                    chosenVideoUri = new Uri("file://" + videoFiles[videoFileIndex] as string);
                }
                SetReturnValue(true);
            }
            return(false);
        }
Пример #2
0
        /* Event members */

        private void OnDefaultsFileOpenEncodingChanged(object o, EventArgs args)
        {
            int active = fileOpenEncoding.ActiveSelection;
            ConfigFileOpenEncodingOption activeOption = (ConfigFileOpenEncodingOption)Enum.ToObject(typeof(ConfigFileOpenEncodingOption), active);

            if (((int)activeOption) > ((int)ConfigFileOpenEncodingOption.Specific))     //Positions higher than specific are always specific too
            {
                activeOption = ConfigFileOpenEncodingOption.Specific;
            }

            Base.Config.FileOpenEncodingOption = activeOption;
            /* If encoding option is specific, encodingOption=Specific and encoding holds the encoding name */
            if (activeOption == ConfigFileOpenEncodingOption.Specific)
            {
                EncodingDescription chosenEncoding = fileOpenEncoding.ChosenEncoding;
                if (!chosenEncoding.Equals(EncodingDescription.Empty))
                {
                    Base.Config.FileOpenEncodingFixed = chosenEncoding.Name;
                }
            }
            else
            {
                /* If encoding is current locale, encoding holds current locale too, otherwise it just holds auto detect */
                ConfigFileOpenEncoding encodingToStore = ConfigFileOpenEncoding.AutoDetect;
                if (activeOption == ConfigFileOpenEncodingOption.CurrentLocale)
                {
                    encodingToStore = ConfigFileOpenEncoding.CurrentLocale;
                }
                Base.Config.FileOpenEncoding = encodingToStore;
            }
        }
Пример #3
0
        private EncodingComboBox BuildEncodingComboBox()
        {
            int fixedEncoding = -1;
            ConfigFileOpenEncoding encodingConfig = Base.Config.FileOpenEncoding;

            if (encodingConfig == ConfigFileOpenEncoding.Fixed)
            {
                string encodingCode = Base.Config.FileOpenEncodingFixed;
                EncodingDescription encodingDescription = EncodingDescription.Empty;
                Encodings.Find(encodingCode, ref encodingDescription);
                fixedEncoding = encodingDescription.CodePage;
            }

            EncodingComboBox comboBox = new EncodingComboBox(true, null, fixedEncoding);

            /* Only need to handle the case of currentLocale, as Fixed is handled before and AutoDetect is the default behaviour */
            if (encodingConfig == ConfigFileOpenEncoding.CurrentLocale)
            {
                comboBox.ActiveSelection = (int)encodingConfig;
            }

            return(comboBox);
        }