public void SaveSettingsToIni() { var iniFile = new IniFileHandler(ConstantsEnums.IniFilename); foreach (var setting in _settings) { iniFile.Write(setting.Name, setting.GetValueAsString(), "CameraSettings"); } foreach (ISetting binding in _keyBindings) { iniFile.Write(binding.Name, binding.GetValueAsString(), "KeyBindings"); } // other settings iniFile.Write("PreferredRenderAPI", ((int)_preferredRenderApiKind).ToString(), "MiscSettings"); }
public void SaveSettingsToIni() { var iniFile = new IniFileHandler(ConstantsEnums.IniFilename); foreach (var setting in _settings.Where(s => s.PersistToIniFile)) { iniFile.Write(setting.Name, setting.GetValueAsString(), "CameraSettings"); } foreach (ISetting binding in _keyBindings.Where(s => s.PersistToIniFile)) { iniFile.Write(binding.Name, binding.GetValueAsString(), "KeyBindings"); } // other settings ApplicationTheme?currentTheme = ThemeManager.Current.ApplicationTheme; int themeID = -1; // not defined, so use default. if (currentTheme != null) { themeID = (int)currentTheme.Value; } iniFile.Write("ThemeID", themeID.ToString(), "MiscSettings"); System.Windows.Media.Color?accentColor = ThemeManager.Current.AccentColor; if (accentColor == null) { iniFile.DeleteKey("AccentColor", "MiscSettings"); } else { iniFile.Write("AccentColor", accentColor.ToString(), "MiscSettings"); } int counter = 0; foreach (var r in _recentlyUsedResolutions) { // Format: resolution|aspect ratio // resulution: widthxheight // aspect ratio: width:height iniFile.Write("Resolution" + counter, r.ToStringForIniFile(), "RecentlyUsedResolutions"); counter++; } }