private void OnDefaultsFileSaveEncodingChanged(object o, EventArgs args)
        {
            int active = fileSaveEncoding.ActiveSelection;
            ConfigFileSaveEncodingOption activeOption = (ConfigFileSaveEncodingOption)Enum.ToObject(typeof(ConfigFileSaveEncodingOption), active);

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

            Base.Config.FileSaveEncodingOption = activeOption;
            /* If encoding is specific, encodingOption=Specific and encoding holds the encoding name */
            if (activeOption == ConfigFileSaveEncodingOption.Specific)
            {
                EncodingDescription chosenEncoding = fileSaveEncoding.ChosenEncoding;
                if (!chosenEncoding.Equals(EncodingDescription.Empty))
                {
                    Base.Config.FileSaveEncodingFixed = chosenEncoding.Name;
                }
            }
            else
            {
                /* If encoding option is current locale, encoding holds current locale too, otherwise it just holds keep existing */
                ConfigFileSaveEncoding encodingToStore = ConfigFileSaveEncoding.KeepExisting;
                if (activeOption == ConfigFileSaveEncodingOption.CurrentLocale)
                {
                    encodingToStore = ConfigFileSaveEncoding.CurrentLocale;
                }
                Base.Config.FileSaveEncoding = encodingToStore;
            }
        }
        private EncodingComboBox BuildFileSaveEncodingComboBox()
        {
            string[] additionalActions = { Catalog.GetString("Keep the encoding used on file open"), Catalog.GetString("Remember the last used encoding") };
            int      fixedEncoding     = -1;
            ConfigFileSaveEncodingOption fileSaveEncodingOption = Base.Config.FileSaveEncodingOption;

            if (fileSaveEncodingOption == ConfigFileSaveEncodingOption.Specific)
            {
                string encodingName = Base.Config.FileSaveEncodingFixed;
                EncodingDescription encodingDescription = EncodingDescription.Empty;
                Encodings.Find(encodingName, ref encodingDescription);
                fixedEncoding = encodingDescription.CodePage;
            }

            EncodingComboBox comboBox = new EncodingComboBox(false, additionalActions, fixedEncoding);

            if (fileSaveEncodingOption != ConfigFileSaveEncodingOption.Specific)
            {
                comboBox.ActiveSelection = (int)fileSaveEncodingOption;
            }
            comboBox.SelectionChanged += OnDefaultsFileSaveEncodingChanged;
            return(comboBox);
        }