예제 #1
0
        public void Save()
        {
            Framework.Settings.Instance.DockEdge        = DockEdge;
            Framework.Settings.Instance.ScreenIndex     = ScreenIndex;
            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.HighDPISupport  = HighDPISupport;
            Framework.Settings.Instance.ShowAltTab      = ShowAltTab;
            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.FontSetting     = FontSetting;
            Framework.Settings.Instance.FontColor       = FontColor;
            Framework.Settings.Instance.AlertFontColor  = AlertFontColor;
            Framework.Settings.Instance.DateSetting     = DateSetting;
            Framework.Settings.Instance.CollapseMenuBar = CollapseMenuBar;
            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);
                }

                _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);
            }

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

            Framework.Settings.Instance.Save();

            App.RefreshIcon();

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

            IsChanged = false;
        }
예제 #2
0
        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.ShowMachineName = ShowMachineName;
            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;
        }