SidebarDiagnostics.Models.SettingsModel.Save C# (CSharp) Méthode

Save() public méthode

public Save ( ) : void
Résultat void
        public void Save()
        {
            if (!string.Equals(Culture, Framework.Settings.Instance.Culture, StringComparison.Ordinal))
            {
                MessageBox.Show(Resources.LanguageChangedText, Resources.LanguageChangedTitle, MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK);
            }

            Framework.Settings.Instance.DockEdge = DockEdge;
            Framework.Settings.Instance.ScreenIndex = ScreenIndex;
            Framework.Settings.Instance.Culture = Culture;
            Framework.Settings.Instance.UIScale = UIScale;
            Framework.Settings.Instance.XOffset = XOffset;
            Framework.Settings.Instance.YOffset = YOffset;
            Framework.Settings.Instance.PollingInterval = PollingInterval;
            Framework.Settings.Instance.UseAppBar = UseAppBar;
            Framework.Settings.Instance.AlwaysTop = AlwaysTop;
            Framework.Settings.Instance.ToolbarMode = ToolbarMode;
            Framework.Settings.Instance.ClickThrough = ClickThrough;
            Framework.Settings.Instance.ShowTrayIcon = ShowTrayIcon;
            Framework.Settings.Instance.AutoUpdate = AutoUpdate;
            Framework.Settings.Instance.RunAtStartup = RunAtStartup;
            Framework.Settings.Instance.SidebarWidth = SidebarWidth;
            Framework.Settings.Instance.AutoBGColor = AutoBGColor;
            Framework.Settings.Instance.BGColor = BGColor;
            Framework.Settings.Instance.BGOpacity = BGOpacity;
            Framework.Settings.Instance.TextAlign = TextAlign;
            Framework.Settings.Instance.FontSetting = FontSetting;
            Framework.Settings.Instance.FontColor = FontColor;
            Framework.Settings.Instance.AlertFontColor = AlertFontColor;
            Framework.Settings.Instance.AlertBlink = AlertBlink;
            Framework.Settings.Instance.DateSetting = DateSetting;
            Framework.Settings.Instance.CollapseMenuBar = CollapseMenuBar;
            Framework.Settings.Instance.InitiallyHidden = InitiallyHidden;
            Framework.Settings.Instance.ShowClock = ShowClock;
            Framework.Settings.Instance.Clock24HR = Clock24HR;

            MonitorConfig[] _config = MonitorConfig.Select(c => c.Clone()).ToArray();

            for (int i = 0; i < _config.Length; i++)
            {
                HardwareConfig[] _hardware = _config[i].HardwareOC.ToArray();

                for (int v = 0; v < _hardware.Length; v++)
                {
                    _hardware[v].Order = Convert.ToByte(_hardware.Length - v);

                    if (string.IsNullOrEmpty(_hardware[v].Name) || string.Equals(_hardware[v].Name, _hardware[v].ActualName, StringComparison.Ordinal))
                    {
                        _hardware[v].Name = null;
                    }
                }

                _config[i].Hardware = _hardware;
                _config[i].HardwareOC = null;

                _config[i].Order = Convert.ToByte(_config.Length - i);
            }

            Framework.Settings.Instance.MonitorConfig = _config;

            List<Hotkey> _hotkeys = new List<Hotkey>();

            if (ToggleKey != null)
            {
                _hotkeys.Add(ToggleKey);
            }
            
            if (ShowKey != null)
            {
                _hotkeys.Add(ShowKey);
            }

            if (HideKey != null)
            {
                _hotkeys.Add(HideKey);
            }

            if (ReloadKey != null)
            {
                _hotkeys.Add(ReloadKey);
            }

            if (CloseKey != null)
            {
                _hotkeys.Add(CloseKey);
            }

            if (CycleEdgeKey != null)
            {
                _hotkeys.Add(CycleEdgeKey);
            }

            if (CycleScreenKey != null)
            {
                _hotkeys.Add(CycleScreenKey);
            }

            if (ReserveSpaceKey != null)
            {
                _hotkeys.Add(ReserveSpaceKey);
            }

            Framework.Settings.Instance.Hotkeys = _hotkeys.ToArray();

            Framework.Settings.Instance.Save();

            App.RefreshIcon();

            if (RunAtStartup)
            {
                Startup.EnableStartupTask();
            }
            else
            {
                Startup.DisableStartupTask();
            }

            IsChanged = false;
        }