예제 #1
0
        public MainNotifyIcon(UserConfigEngine <MainViewModel> userConfigEngine,
                              CultureResource cultureResource,
                              AutoModeWorker autoModeWorker,
                              TimeEngine timeEngine)
        {
            _container        = new Container();
            _userConfigEngine = userConfigEngine;
            _autoModeWorker   = autoModeWorker;
            _timeEngine       = timeEngine;

            _contextMenuLazy = new Lazy <MainContextMenu>(
                () => new MainContextMenu(userConfigEngine, cultureResource, autoModeWorker),
                LazyThreadSafetyMode.ExecutionAndPublication);

            #region Initialization

            _notifyIcon = new NotifyIcon(_container)
            {
                Text    = Constants.ApplicationName,
                Icon    = _userConfigEngine.ViewModel.Icon,
                Visible = true
            };

            _notifyIcon.MouseClick              += NotifyIcon_MouseClick;
            UIInfo.Settings.ColorValuesChanged  += Settings_ColorValuesChanged;
            SystemEvents.DisplaySettingsChanged += SystemEvents_DisplaySettingsChanged;

            #endregion
        }
예제 #2
0
        public MainNotifyIcon(UserConfigEngine <MainViewModel> userConfigEngine,
                              CultureResource cultureResource)
        {
            _container        = new Container();
            _userConfigEngine = userConfigEngine;
            _cultureResource  = cultureResource;

            _contextMenuLazy = new Lazy <MainContextMenu>(
                () => new MainContextMenu(userConfigEngine, cultureResource),
                LazyThreadSafetyMode.ExecutionAndPublication);

            #region Initialization

            _notifyIcon = new NotifyIcon(_container)
            {
                Text    = Constants.ApplicationName,
                Icon    = _userConfigEngine.ViewModel.Icon,
                Visible = true
            };

            _notifyIcon.MouseClick += (s, e) =>
            {
                // todo
                UpdateTheme();

                if (e.Button == MouseButtons.Right)
                {
                    // show Menu
                    _contextMenuLazy.Value.Show();
                }
            };

            #endregion
        }
예제 #3
0
 public MainSettingForm(UserConfigEngine <MainViewModel> userConfigEngine,
                        CultureResource cultureResource)
 {
     _userConfigEngine = userConfigEngine;
     _cultureResource  = cultureResource;
     InitializeComponent();
     ThemeUpdate();
 }
예제 #4
0
        public MainContextMenu(UserConfigEngine <MainViewModel> userConfigEngine,
                               CultureResource cultureResource)
        {
            InitializeComponent();

            _userConfigEngine = userConfigEngine;
            _cultureResource  = cultureResource;
            _mainSettingForm  =
                new Lazy <MainSettingForm>(() => new MainSettingForm(_userConfigEngine, cultureResource),
                                           LazyThreadSafetyMode.ExecutionAndPublication);

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

            #region Initialization

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

            stopButton.Text   = _cultureResource.GetText("TrayStop");
            stopButton.Click += (s, e) => { SetAutoModeType(AutoModeType.Disable); };

            AllowlistButton.Text   = _cultureResource.GetText("TrayAllowlistMode");
            AllowlistButton.Click += (s, e) => { SetAutoModeType(AutoModeType.AllowlistMode); };

            BlockListButton.Text   = _cultureResource.GetText("TrayBlockListMode");
            BlockListButton.Click += (s, e) => { SetAutoModeType(AutoModeType.BlockListMode); };

            foreButton.Text   = _cultureResource.GetText("TrayAutoMode2");
            foreButton.Click += (s, e) => { SetAutoModeType(AutoModeType.ForegroundMode); };

            apiButton.Text   = _cultureResource.GetText("TrayAutoMode1");
            apiButton.Click += (s, e) => { SetAutoModeType(AutoModeType.AutoHideApiMode); };

            settingsButton.Text   = _cultureResource.GetText("TraySettings");
            settingsButton.Click += (s, e) => { _mainSettingForm.Value.Show(); };

            aboutButton.Text                 = _cultureResource.GetText("TrayAbout");
            aboutButton.Image                = IconResources.Empty;
            aboutButton.Click               += (s, e)
                                        => _ = Launcher.LaunchUriAsync(new Uri("https://github.com/ChanpleCai/SmartTaskbar/releases"));

            #endregion
        }
예제 #5
0
        public MainSettingForm(UserConfigEngine <MainViewModel> userConfigEngine,
                               CultureResource cultureResource)
        {
            _userConfigEngine = userConfigEngine;
            _cultureResource  = cultureResource;
            InitializeComponent();
            UpdateTheme();

            UIInfo.Settings.ColorValuesChanged += Settings_ColorValuesChanged;
        }
예제 #6
0
        public MainContextMenu(UserConfigEngine <MainViewModel> userConfigEngine,
                               CultureResource cultureResource,
                               AutoModeWorker autoModeWorker)
        {
            InitializeComponent();

            _userConfigEngine = userConfigEngine;
            _cultureResource  = cultureResource;
            _autoModeWorker   = autoModeWorker;
            _mainSettingForm  =
                new Lazy <MainSettingForm>(() => new MainSettingForm(userConfigEngine, cultureResource),
                                           LazyThreadSafetyMode.ExecutionAndPublication);

            #region Events

            VisibleChanged += MainContextMenu_VisibleChanged;
            Activated      += MainContextMenu_Activated;
            Deactivate     += MainContextMenu_Deactivate;
            UIInfo.Settings.ColorValuesChanged += Settings_ColorValuesChanged;

            exitMenuButton.Click  += OnExitMenuButtonOnClick;
            stopButton.Click      += OnStopButtonOnClick;
            AllowlistButton.Click += OnAllowlistButtonOnClick;
            BlockListButton.Click += OnBlockListButtonOnClick;
            foreButton.Click      += OnForeButtonOnClick;
            apiButton.Click       += OnApiButtonOnClick;
            settingsButton.Click  += OnSettingsButtonOnClick;
            aboutButton.Click     += OnAboutButtonOnClick;

            #endregion

            #region Initialization

            UpdateTheme();
            UpdateText();

            aboutButton.Image    = IconResources.Empty;
            exitMenuButton.Image = IconResources.Empty;

            #endregion
        }