public MainContextMenu(IContainer container, CoreInvoker coreInvoker)
        {
            InitializeComponent();

            _container   = container;
            _coreInvoker = coreInvoker;

            VisibleChanged += (s, e) =>
            {
                if (Visible)
                {
                    Activate();
                }
            };
            Activated += (s, e) =>
            {
                ChangeTheme();
                SetPosition();
            };
            Deactivate += (s, e) => Hide();

            #region Initialization

            exitMenuButton.Text   = coreInvoker.GetText("TrayExit");
            exitMenuButton.Image  = Resources.Empty;
            exitMenuButton.Click += (s, e) => Application.Exit();

            stopButton.Text   = coreInvoker.GetText("TrayStop");
            stopButton.Click += (s, e) =>
            {
                _coreInvoker.UserSettings.ModeType = AutoModeType.Disable;
                _coreInvoker.ModeSwitch.LoadSetting();
                SetAutoModeTypeIcon();
                _coreInvoker.SaveUserSettings();
            };

            WhitelistButton.Text   = coreInvoker.GetText("TrayWhitelistMode");
            WhitelistButton.Click += (s, e) =>
            {
                _coreInvoker.UserSettings.ModeType = AutoModeType.WhitelistMode;
                _coreInvoker.ModeSwitch.LoadSetting();
                SetAutoModeTypeIcon();
                _coreInvoker.SaveUserSettings();
            };

            BlacklistButton.Text   = coreInvoker.GetText("TrayBlacklistMode");
            BlacklistButton.Click += (s, e) =>
            {
                _coreInvoker.UserSettings.ModeType = AutoModeType.BlacklistMode;
                _coreInvoker.ModeSwitch.LoadSetting();
                SetAutoModeTypeIcon();
                _coreInvoker.SaveUserSettings();
            };

            foreButton.Text   = coreInvoker.GetText("TrayAutoMode2");
            foreButton.Click += (s, e) =>
            {
                _coreInvoker.UserSettings.ModeType = AutoModeType.ForegroundMode;
                _coreInvoker.ModeSwitch.LoadSetting();
                SetAutoModeTypeIcon();
                _coreInvoker.SaveUserSettings();
            };

            apiButton.Text   = coreInvoker.GetText("TrayAutoMode1");
            apiButton.Click += (s, e) =>
            {
                _coreInvoker.UserSettings.ModeType = AutoModeType.AutoHideApiMode;
                _coreInvoker.ModeSwitch.LoadSetting();
                SetAutoModeTypeIcon();
                _coreInvoker.SaveUserSettings();
            };

            settingsButton.Text = coreInvoker.GetText("TraySettings");

            aboutButton.Text   = coreInvoker.GetText("TrayAbout");
            aboutButton.Image  = Resources.Empty;
            aboutButton.Click += (s, e) => Process.Start("https://github.com/ChanpleCai/SmartTaskbar/releases");

            #endregion
        }
        private void LoadEvent()
        {
            checkBoxIsAutoHide0.CheckedChanged += (s, e) =>
            {
                if (_coreInvoker.UserSettings.ResetState.IsAutoHide == checkBoxIsAutoHide0.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ResetState.IsAutoHide = checkBoxIsAutoHide0.Checked;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            checkBoxIsAutoHide1.CheckedChanged += (s, e) =>
            {
                if (_coreInvoker.UserSettings.ReadyState.IsAutoHide == checkBoxIsAutoHide1.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ReadyState.IsAutoHide = checkBoxIsAutoHide1.Checked;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            checkBoxIsAutoHide2.CheckedChanged += (s, e) =>
            {
                if (_coreInvoker.UserSettings.TargetState.IsAutoHide == checkBoxIsAutoHide2.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.TargetState.IsAutoHide = checkBoxIsAutoHide2.Checked;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            checkBoxHideTaskbar0.CheckedChanged += (s, e) =>
            {
                if (_coreInvoker.UserSettings.ResetState.HideTaskbarCompletely == checkBoxHideTaskbar0.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ResetState.HideTaskbarCompletely = checkBoxHideTaskbar0.Checked;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            checkBoxHideTaskbar1.CheckedChanged += (s, e) =>
            {
                if (_coreInvoker.UserSettings.ReadyState.HideTaskbarCompletely == checkBoxHideTaskbar1.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ReadyState.HideTaskbarCompletely = checkBoxHideTaskbar1.Checked;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            checkBoxHideTaskbar2.CheckedChanged += (s, e) =>
            {
                if (_coreInvoker.UserSettings.TargetState.HideTaskbarCompletely == checkBoxHideTaskbar2.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.TargetState.HideTaskbarCompletely = checkBoxHideTaskbar2.Checked;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            checkBoxIconSize0.CheckedChanged += (s, e) =>
            {
                if (_coreInvoker.UserSettings.ResetState.IconSize == Constant.IconSmall ==
                    checkBoxIconSize0.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ResetState.IconSize =
                    checkBoxIconSize0.Checked ? Constant.IconSmall : Constant.IconLarge;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            checkBoxIconSize1.CheckedChanged += (s, e) =>
            {
                if (_coreInvoker.UserSettings.ReadyState.IconSize == Constant.IconSmall ==
                    checkBoxIconSize1.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ReadyState.IconSize =
                    checkBoxIconSize1.Checked ? Constant.IconSmall : Constant.IconLarge;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            checkBoxIconSize2.CheckedChanged += (s, e) =>
            {
                if (_coreInvoker.UserSettings.TargetState.IconSize == Constant.IconSmall ==
                    checkBoxIconSize2.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.TargetState.IconSize =
                    checkBoxIconSize2.Checked ? Constant.IconSmall : Constant.IconLarge;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            radioButtonDisable0.CheckedChanged += (s, e) =>
            {
                if (!radioButtonDisable0.Checked)
                {
                    return;
                }

                if (_coreInvoker.UserSettings.ResetState.TransparentMode == TransparentModeType.Disable)
                {
                    return;
                }

                _coreInvoker.UserSettings.ResetState.TransparentMode = TransparentModeType.Disable;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            radioButtonDisable1.CheckedChanged += (s, e) =>
            {
                if (!radioButtonDisable1.Checked)
                {
                    return;
                }

                if (_coreInvoker.UserSettings.ReadyState.TransparentMode == TransparentModeType.Disable)
                {
                    return;
                }

                _coreInvoker.UserSettings.ReadyState.TransparentMode = TransparentModeType.Disable;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            radioButtonDisable2.CheckedChanged += (s, e) =>
            {
                if (!radioButtonDisable2.Checked)
                {
                    return;
                }

                if (_coreInvoker.UserSettings.TargetState.TransparentMode == TransparentModeType.Disable)
                {
                    return;
                }

                _coreInvoker.UserSettings.TargetState.TransparentMode = TransparentModeType.Disable;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            radioButtonTransparent0.CheckedChanged += (s, e) =>
            {
                if (!radioButtonTransparent0.Checked)
                {
                    return;
                }

                if (_coreInvoker.UserSettings.ResetState.TransparentMode == TransparentModeType.Transparent)
                {
                    return;
                }

                _coreInvoker.UserSettings.ResetState.TransparentMode = TransparentModeType.Transparent;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            radioButtonTransparent1.CheckedChanged += (s, e) =>
            {
                if (!radioButtonTransparent1.Checked)
                {
                    return;
                }

                if (_coreInvoker.UserSettings.ReadyState.TransparentMode == TransparentModeType.Transparent)
                {
                    return;
                }

                _coreInvoker.UserSettings.ReadyState.TransparentMode = TransparentModeType.Transparent;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            radioButtonTransparent2.CheckedChanged += (s, e) =>
            {
                if (!radioButtonTransparent2.Checked)
                {
                    return;
                }

                if (_coreInvoker.UserSettings.TargetState.TransparentMode == TransparentModeType.Transparent)
                {
                    return;
                }

                _coreInvoker.UserSettings.TargetState.TransparentMode = TransparentModeType.Transparent;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            radioButtonBlur0.CheckedChanged += (s, e) =>
            {
                if (!radioButtonBlur0.Checked)
                {
                    return;
                }

                if (_coreInvoker.UserSettings.ResetState.TransparentMode == TransparentModeType.Blur)
                {
                    return;
                }

                _coreInvoker.UserSettings.ResetState.TransparentMode = TransparentModeType.Blur;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            radioButtonBlur1.CheckedChanged += (s, e) =>
            {
                if (!radioButtonBlur1.Checked)
                {
                    return;
                }

                if (_coreInvoker.UserSettings.ReadyState.TransparentMode == TransparentModeType.Blur)
                {
                    return;
                }

                _coreInvoker.UserSettings.ReadyState.TransparentMode = TransparentModeType.Blur;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            radioButtonBlur2.CheckedChanged += (s, e) =>
            {
                if (!radioButtonBlur2.Checked)
                {
                    return;
                }

                if (_coreInvoker.UserSettings.TargetState.TransparentMode == TransparentModeType.Blur)
                {
                    return;
                }

                _coreInvoker.UserSettings.TargetState.TransparentMode = TransparentModeType.Blur;
                _coreInvoker.SaveUserSettings();
                _coreInvoker.ModeSwitch.LoadSetting();
            };

            checkBoxTaskbarAnimation.CheckStateChanged += (s, e) =>
            {
                if (checkBoxTaskbarAnimation.Checked == InvokeMethods.GetTaskbarAnimation())
                {
                    return;
                }

                InvokeMethods.ChangeTaskbarAnimation();
            };
        }
Beispiel #3
0
        public MainSettingForm(IContainer container, CoreInvoker coreInvoker)
        {
            _container   = container;
            _coreInvoker = coreInvoker;
            InitializeComponent();

            VisibleChanged += (s, e) =>
            {
                if (Visible)
                {
                    Activate();
                }
            };
            Activated  += (s, e) => ChangeTheme();
            Deactivate += (s, e) => Hide();

            #region Initialization

            #region Text

            groupBoxState0.Text = coreInvoker.GetText("SettTaskbarState0");
            groupBoxState1.Text = coreInvoker.GetText("SettTaskbarState1");
            groupBoxState2.Text = coreInvoker.GetText("SettTaskbarState2");

            groupBoxTransparentMode0.Text         =
                groupBoxTransparentMode1.Text     =
                    groupBoxTransparentMode2.Text =
                        coreInvoker.GetText("SettTransparentMode");

            checkBoxIsAutoHide0.Text         =
                checkBoxIsAutoHide1.Text     =
                    checkBoxIsAutoHide2.Text =
                        coreInvoker.GetText("SettIsAutoHide");

            checkBoxHideTaskbar0.Text         =
                checkBoxHideTaskbar1.Text     =
                    checkBoxHideTaskbar2.Text =
                        coreInvoker.GetText("SettHideTaskbar");

            checkBoxIconSize0.Text         =
                checkBoxIconSize1.Text     =
                    checkBoxIconSize2.Text =
                        coreInvoker.GetText("SettIconSize");

            radioButtonDisable0.Text         =
                radioButtonDisable1.Text     =
                    radioButtonDisable2.Text =
                        coreInvoker.GetText("SettDisable");

            radioButtonTransparent0.Text         =
                radioButtonTransparent1.Text     =
                    radioButtonTransparent2.Text =
                        coreInvoker.GetText("SettTransparent");

            radioButtonBlur0.Text         =
                radioButtonBlur1.Text     =
                    radioButtonBlur2.Text =
                        coreInvoker.GetText("SettBlur");

            #endregion

            #region Event

            checkBoxIsAutoHide0.CheckedChanged += (s, e) =>
            {
                _coreInvoker.UserSettings.ResetState.IsAutoHide = checkBoxIsAutoHide0.Checked;
                _coreInvoker.SaveUserSettings();
            };

            checkBoxIsAutoHide1.CheckedChanged += (s, e) =>
            {
                _coreInvoker.UserSettings.ReadyState.IsAutoHide = checkBoxIsAutoHide1.Checked;
                _coreInvoker.SaveUserSettings();
            };

            checkBoxIsAutoHide2.CheckedChanged += (s, e) =>
            {
                _coreInvoker.UserSettings.TargetState.IsAutoHide = checkBoxIsAutoHide2.Checked;
                _coreInvoker.SaveUserSettings();
            };

            checkBoxHideTaskbar0.CheckedChanged += (s, e) =>
            {
                _coreInvoker.UserSettings.ResetState.HideTaskbarCompletely = checkBoxHideTaskbar0.Checked;
                _coreInvoker.SaveUserSettings();
            };

            checkBoxHideTaskbar1.CheckedChanged += (s, e) =>
            {
                _coreInvoker.UserSettings.ReadyState.HideTaskbarCompletely = checkBoxHideTaskbar1.Checked;
                _coreInvoker.SaveUserSettings();
            };

            checkBoxHideTaskbar2.CheckedChanged += (s, e) =>
            {
                _coreInvoker.UserSettings.TargetState.HideTaskbarCompletely = checkBoxHideTaskbar2.Checked;
                _coreInvoker.SaveUserSettings();
            };

            checkBoxIconSize0.CheckedChanged += (s, e) =>
            {
                _coreInvoker.UserSettings.ResetState.IconSize = checkBoxIconSize0.Checked ? Constant.IconSmall : Constant.IconLarge;
                _coreInvoker.SaveUserSettings();
            };

            checkBoxIconSize1.CheckedChanged += (s, e) =>
            {
                _coreInvoker.UserSettings.ReadyState.IconSize = checkBoxIconSize1.Checked ? Constant.IconSmall : Constant.IconLarge;
                _coreInvoker.SaveUserSettings();
            };

            checkBoxIconSize2.CheckedChanged += (s, e) =>
            {
                _coreInvoker.UserSettings.TargetState.IconSize = checkBoxIconSize2.Checked ? Constant.IconSmall : Constant.IconLarge;
                _coreInvoker.SaveUserSettings();
            };

            radioButtonDisable0.CheckedChanged += (s, e) =>
            {
                if (!radioButtonDisable0.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ResetState.TransparentMode = TransparentModeType.Disable;
                _coreInvoker.SaveUserSettings();
            };

            radioButtonDisable1.CheckedChanged += (s, e) =>
            {
                if (!radioButtonDisable1.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ReadyState.TransparentMode = TransparentModeType.Disable;
                _coreInvoker.SaveUserSettings();
            };

            radioButtonDisable2.CheckedChanged += (s, e) =>
            {
                if (!radioButtonDisable2.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.TargetState.TransparentMode = TransparentModeType.Disable;
                _coreInvoker.SaveUserSettings();
            };

            radioButtonTransparent0.CheckedChanged += (s, e) =>
            {
                if (!radioButtonTransparent0.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ResetState.TransparentMode = TransparentModeType.Transparent;
                _coreInvoker.SaveUserSettings();
            };

            radioButtonTransparent1.CheckedChanged += (s, e) =>
            {
                if (!radioButtonTransparent1.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ReadyState.TransparentMode = TransparentModeType.Transparent;
                _coreInvoker.SaveUserSettings();
            };

            radioButtonTransparent2.CheckedChanged += (s, e) =>
            {
                if (!radioButtonTransparent2.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.TargetState.TransparentMode = TransparentModeType.Transparent;
                _coreInvoker.SaveUserSettings();
            };

            radioButtonBlur0.CheckedChanged += (s, e) =>
            {
                if (!radioButtonBlur0.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ResetState.TransparentMode = TransparentModeType.Blur;
                _coreInvoker.SaveUserSettings();
            };

            radioButtonBlur1.CheckedChanged += (s, e) =>
            {
                if (!radioButtonBlur1.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.ReadyState.TransparentMode = TransparentModeType.Blur;
                _coreInvoker.SaveUserSettings();
            };

            radioButtonBlur2.CheckedChanged += (s, e) =>
            {
                if (!radioButtonBlur2.Checked)
                {
                    return;
                }

                _coreInvoker.UserSettings.TargetState.TransparentMode = TransparentModeType.Blur;
                _coreInvoker.SaveUserSettings();
            };

            #endregion

            LoadSettings();

            #endregion
        }