Exemplo n.º 1
0
        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++;
            }
        }