public void Initialize()
        {
            _runOnStartup = new RunOnStartup();

            _mainViewModel = new MainViewModel();
            _mainViewModel.SplashScreenComplete += SplashScreenComplete;
            WindowManager.Instance.ShowWindow(_mainViewModel);

            _hotkeyManager = new HotkeyManager(_mainViewModel.View);
            try
            {
                _hotkeyManager.Register(new Hotkey(ModifierKeys.Windows, Key.G));
            }
            catch (Win32Exception)
            {
                // hotkey already registered by another program
            }
            _hotkeyManager.HotkeyPressed += (sender, args) => DisplaySplashScreen();

            _tray = new Tray();
            _tray.RunAtStartup = _runOnStartup.GetRunStartup();

            _tray.ChangeRunAtStartup  += ChangeRunAtStartup;
            _tray.ExitApplication     += ExitApplication;
            _tray.DisplayAboutDialog  += DisplayAboutDialog;
            _tray.DisplaySplashScreen += (sender, args) => DisplaySplashScreen();
            _tray.Show();
        }
Exemplo n.º 2
0
        private static async Task <bool?> IsRunOnStartupEnabled()
        {
#if MS_STORE
            return(await RunOnStartup.IsRunOnStartupEnabled());
#else
            return(Utils.GetLaunchOnStartupRegistry());
#endif
        }
Exemplo n.º 3
0
        /// <summary>
        /// Create the context menu for the notification icon.
        /// </summary>
        private void CreateContextMenu()
        {
            ContextMenuStrip menu = new ContextMenuStrip();

            menu.Items.Add("Settings").Click += (s, e) =>
            {
                if (_settingsWindow != null)
                {
                    _settingsWindow.Focus();
                }
                else
                {
                    _settingsWindow = new SettingsWindow();
                    _settingsWindow.Show();
                    _settingsWindow.Closed += (sender, args) => { _settingsWindow = null; };
                }
            };
            menu.Items.Add("About").Click += (s, e) =>
            {
                if (_aboutWindow != null)
                {
                    _aboutWindow.Focus();
                }
                else
                {
                    _aboutWindow = new AboutWindow();
                    _aboutWindow.Show();
                    _aboutWindow.Closed += (sender, args) => { _aboutWindow = null; };
                }
            };
            var startUpItem = new ToolStripMenuItem("Run at Windows startup");

            startUpItem.Checked = RunOnStartup.isRunOnStartup();
            startUpItem.Click  += (s, e) =>
            {
                startUpItem.Checked = !startUpItem.Checked;
                if (startUpItem.Checked)
                {
                    RunOnStartup.setRunOnStartup(true);
                }
                else
                {
                    RunOnStartup.setRunOnStartup(false);
                }
            };
            menu.Items.Add(startUpItem);
            menu.Items.Add(new ToolStripSeparator());

            menu.Items.Add("Exit").Click += (s, e) => ExitApp();

            _notifyIcon.ContextMenuStrip = menu;
        }
Exemplo n.º 4
0
        private async Task <bool> save(Settings settings)
        {
            using (Performance.Measure("saving global shortcuts"))
            {
                this.saveShortCuts();
            }

            Toggl.SetDefaultProject(settings.DefaultProject.ProjectID, settings.DefaultProject.TaskID);
            Toggl.SetKeepEndTimeFixed(settings.KeepEndTimeFixed);
#if MS_STORE
            await RunOnStartup.TrySetRunOnStartup(settings.LaunchOnStartup);
#else
            Utils.SaveLaunchOnStartupRegistry(settings.LaunchOnStartup);
#endif
            return(Toggl.SetSettings(settings.TogglSettings));
        }
Exemplo n.º 5
0
        private void checkBoxStartAutomatically_CheckedChanged(object sender, EventArgs e)
        {
            // Command to run
            var command = "\"" + AppDomain.CurrentDomain.BaseDirectory + "GOES.exe\" --min";

            // Update settings file
            this._settings.RunOnStartup = ((CheckBox)sender).Checked;
            SettingsFileUtils.SaveSettings(this._settings, this._settingsFile);

            if (this._settings.RunOnStartup)
            {
                RunOnStartup.AddToStartup("GOES Wallpaper", command);
            }
            else
            {
                RunOnStartup.RemoveFromStartup(command);
            }
        }