/* 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; } }
private EncodingComboBox BuildFileOpenEncodingComboBox() { string[] additionalActions = { Catalog.GetString("Remember the last used encoding") }; int fixedEncoding = -1; ConfigFileOpenEncodingOption fileOpenEncodingOption = Base.Config.FileOpenEncodingOption; if (fileOpenEncodingOption == ConfigFileOpenEncodingOption.Specific) { string encodingName = Base.Config.FileOpenEncodingFixed; EncodingDescription encodingDescription = EncodingDescription.Empty; Encodings.Find(encodingName, ref encodingDescription); fixedEncoding = encodingDescription.CodePage; } EncodingComboBox comboBox = new EncodingComboBox(true, additionalActions, fixedEncoding); if (fileOpenEncodingOption != ConfigFileOpenEncodingOption.Specific) { comboBox.ActiveSelection = (int)fileOpenEncodingOption; } comboBox.SelectionChanged += OnDefaultsFileOpenEncodingChanged; return(comboBox); }