public void ShowTaskTrayIcon()
        {
            const string iconUri = "pack://application:,,,/SylphyHorn;Component/Assets/tasktray.ico";

            Uri uri;

            if (!Uri.TryCreate(iconUri, UriKind.Absolute, out uri))
            {
                return;
            }

            var icon  = IconHelper.GetIconFromResource(uri);
            var menus = new[]
            {
                new TaskTrayIconItem(Resources.TaskTray_Menu_Settings, () => this.ShowSettings(), () => Application.Args.CanSettings),
                new TaskTrayIconItem(Resources.TaskTray_Menu_Exit, () => this._application.Shutdown()),
            };

            var taskTrayIcon = new TaskTrayIcon(icon, menus);

            taskTrayIcon.Show();
            taskTrayIcon.AddTo(this._application);

            if (Settings.General.FirstTime)
            {
                var baloon = taskTrayIcon.CreateBaloon();
                baloon.Title    = ProductInfo.Title;
                baloon.Text     = Resources.TaskTray_FirstTimeMessage;
                baloon.Timespan = TimeSpan.FromMilliseconds(5000);
                baloon.Show();

                Settings.General.FirstTime.Value = false;
                LocalSettingsProvider.Instance.SaveAsync().Forget();
            }
        }
 public void Disable()
 {
     if (taskTrayIcon != null)
     {
         taskTrayIcon.Dispose();
         taskTrayIcon = null;
     }
 }
Exemplo n.º 3
0
 private void OnResized(object sender, EventArgs e)
 {
     if (WindowState == FormWindowState.Minimized)
     {
         TaskTrayIcon.Visible = true;
         TaskTrayIcon.ShowBalloonTip(5000);
         ShowInTaskbar = false;
     }
 }
 public void Enable()
 {
     if (taskTrayIcon == null)
     {
         taskTrayIcon = new TaskTrayIcon(root);
         taskTrayIcon.Icon = Resources.icon;
         taskTrayIcon.Text = root.Title;
         taskTrayIcon.BalloonTipText = "";
         taskTrayIcon.BalloonTipTitle = root.Title;
     }
 }
Exemplo n.º 5
0
        public TaskTrayIcon CreateTaskTrayIcon()
        {
            if (this._taskTrayIcon == null)
            {
                const string iconUri = "pack://application:,,,/SylphyHorn;Component/.assets/tasktray.ico";

                if (!Uri.TryCreate(iconUri, UriKind.Absolute, out var uri))
                {
                    return(null);
                }

                var icon  = IconHelper.GetIconFromResource(uri);
                var menus = new[]
                {
                    new TaskTrayIconItem(Resources.TaskTray_Menu_Settings, ShowSettings, () => Application.Args.CanSettings),
                    new TaskTrayIconItem(Resources.TaskTray_Menu_Exit, this._shutdownAction),
                };

                this._taskTrayIcon = new TaskTrayIcon(icon, menus);
            }

            return(this._taskTrayIcon);

            void ShowSettings()
            {
                using (this._hookService.Suspend())
                {
                    if (SettingsWindow.Instance != null)
                    {
                        SettingsWindow.Instance.Activate();
                    }
                    else
                    {
                        SettingsWindow.Instance = new SettingsWindow
                        {
                            DataContext = new SettingsWindowViewModel(this._hookService),
                        };

                        SettingsWindow.Instance.ShowDialog();
                        SettingsWindow.Instance = null;
                    }
                }
            }
        }
        public void ShowTaskTrayIcon()
        {
            const string iconUri = "pack://application:,,,/SylphyHorn;Component/Assets/tasktray.ico";

            Uri uri;

            if (!Uri.TryCreate(iconUri, UriKind.Absolute, out uri))
            {
                return;
            }

            var icon  = IconHelper.GetIconFromResource(uri);
            var menus = new[]
            {
                new TaskTrayIconItem("&Settings (S)", () => this.ShowSettings(), () => Application.Args.CanSettings),
                new TaskTrayIconItem("E&xit (X)", () => this._application.Shutdown()),
            };

            var taskTrayIcon = new TaskTrayIcon(icon, menus);

            taskTrayIcon.Show();
            taskTrayIcon.AddTo(this._application);
        }