mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
- Change Tray Menu to context menu for design
This commit is contained in:
parent
9a53015786
commit
3f95385f6a
1 changed files with 33 additions and 23 deletions
|
|
@ -30,6 +30,7 @@ namespace Flow.Launcher
|
|||
private bool isProgressBarStoryboardPaused;
|
||||
private Settings _settings;
|
||||
private NotifyIcon _notifyIcon;
|
||||
private ContextMenu contextMenu;
|
||||
private MainViewModel _viewModel;
|
||||
|
||||
#endregion
|
||||
|
|
@ -159,14 +160,19 @@ namespace Flow.Launcher
|
|||
|
||||
private void UpdateNotifyIconText()
|
||||
{
|
||||
var menu = _notifyIcon.ContextMenuStrip;
|
||||
var open = menu.Items[0];
|
||||
var setting = menu.Items[1];
|
||||
var exit = menu.Items[2];
|
||||
var menu = contextMenu;
|
||||
|
||||
open.Text = InternationalizationManager.Instance.GetTranslation("iconTrayOpen");
|
||||
setting.Text = InternationalizationManager.Instance.GetTranslation("iconTraySettings");
|
||||
exit.Text = InternationalizationManager.Instance.GetTranslation("iconTrayExit");
|
||||
var header = new MenuItem() { Header = "Flow Launcher", IsEnabled = false };
|
||||
var open = new MenuItem() { Header = InternationalizationManager.Instance.GetTranslation("iconTrayOpen") };
|
||||
var settings = new MenuItem() { Header = InternationalizationManager.Instance.GetTranslation("iconTraySettings") };
|
||||
var exit = new MenuItem() { Header = InternationalizationManager.Instance.GetTranslation("iconTrayExit") };
|
||||
menu.Items[0] = header;
|
||||
menu.Items[1] = open;
|
||||
menu.Items[2] = settings;
|
||||
menu.Items[3] = exit;
|
||||
open.Click += (o, e) => Visibility = Visibility.Visible;
|
||||
settings.Click += (o, e) => App.API.OpenSettingDialog();
|
||||
exit.Click += (o, e) => Close();
|
||||
}
|
||||
|
||||
private void InitializeNotifyIcon()
|
||||
|
|
@ -178,29 +184,33 @@ namespace Flow.Launcher
|
|||
Visible = !_settings.HideNotifyIcon
|
||||
};
|
||||
var menu = new ContextMenuStrip();
|
||||
var items = menu.Items;
|
||||
contextMenu = new ContextMenu();
|
||||
|
||||
MenuItem header = new MenuItem() { Header = "Flow Launcher", IsEnabled = false };
|
||||
MenuItem open = new MenuItem() { Header = InternationalizationManager.Instance.GetTranslation("iconTrayOpen") };
|
||||
MenuItem settings = new MenuItem() { Header = InternationalizationManager.Instance.GetTranslation("iconTraySettings") };
|
||||
MenuItem exit = new MenuItem() { Header = InternationalizationManager.Instance.GetTranslation("iconTrayExit") };
|
||||
|
||||
var open = items.Add(InternationalizationManager.Instance.GetTranslation("iconTrayOpen"));
|
||||
open.Click += (o, e) => Visibility = Visibility.Visible;
|
||||
var setting = items.Add(InternationalizationManager.Instance.GetTranslation("iconTraySettings"));
|
||||
setting.Click += (o, e) => App.API.OpenSettingDialog();
|
||||
var exit = items.Add(InternationalizationManager.Instance.GetTranslation("iconTrayExit"));
|
||||
settings.Click += (o, e) => App.API.OpenSettingDialog();
|
||||
exit.Click += (o, e) => Close();
|
||||
contextMenu.Items.Add(header);
|
||||
contextMenu.Items.Add(open);
|
||||
contextMenu.Items.Add(settings);
|
||||
contextMenu.Items.Add(exit);
|
||||
|
||||
_notifyIcon.ContextMenuStrip = menu;
|
||||
_notifyIcon.ContextMenuStrip = menu; /*it need for close the context menu. if not, context menu can't close. */
|
||||
_notifyIcon.MouseClick += (o, e) =>
|
||||
{
|
||||
if (e.Button == MouseButtons.Left)
|
||||
switch (e.Button)
|
||||
{
|
||||
if (menu.Visible)
|
||||
{
|
||||
menu.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
var p = System.Windows.Forms.Cursor.Position;
|
||||
menu.Show(p);
|
||||
}
|
||||
case MouseButtons.Left:
|
||||
_viewModel.ToggleFlowLauncher();
|
||||
break;
|
||||
|
||||
case MouseButtons.Right:
|
||||
contextMenu.IsOpen = true;
|
||||
break;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue