mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-19 02:23:01 +08:00
feat: 任务栏图标支持启动和停止任务
This commit is contained in:
@@ -22,6 +22,7 @@ namespace MeoAsstGui
|
||||
public partial class TrayIcon
|
||||
{
|
||||
private NotifyIcon notifyIcon = new NotifyIcon();
|
||||
private TaskQueueViewModel taskQueueViewModel;
|
||||
private WindowState ws; //记录窗体状态
|
||||
private bool _isMinimizeToTaskbar = false;
|
||||
|
||||
@@ -41,15 +42,23 @@ namespace MeoAsstGui
|
||||
MenuItem showMenu = new System.Windows.Forms.MenuItem("打开 MAA");
|
||||
showMenu.Click += App_show;
|
||||
// 不知道怎么调用 TaskQueue.LinkStart, 等一个有缘的大佬来写(
|
||||
//MenuItem startMenu = new System.Windows.Forms.MenuItem("开始长草");
|
||||
//startMenu.Click += StartTask;
|
||||
//MenuItem stopMenu = new System.Windows.Forms.MenuItem("全部停止");
|
||||
//stopMenu.Click += StopTask;
|
||||
MenuItem startMenu = new System.Windows.Forms.MenuItem("开始长草");
|
||||
startMenu.Click += StartTask;
|
||||
MenuItem stopMenu = new System.Windows.Forms.MenuItem("全部停止");
|
||||
stopMenu.Click += StopTask;
|
||||
MenuItem exitMenu = new System.Windows.Forms.MenuItem("退出");
|
||||
exitMenu.Click += App_exit;
|
||||
System.Windows.Forms.MenuItem[] menuItems = new MenuItem[] { showMenu, exitMenu };
|
||||
System.Windows.Forms.MenuItem[] menuItems = new MenuItem[] { showMenu, startMenu, stopMenu, exitMenu };
|
||||
this.notifyIcon.ContextMenu = new System.Windows.Forms.ContextMenu(menuItems);
|
||||
}
|
||||
/// <summary>
|
||||
/// 只应该在TaskQueueViewModel的构造函数中调用这个函数,不要传入一个随便new出来的TaskQueueViewModel
|
||||
/// </summary>
|
||||
/// <param name="taskQueueViewModel">一个 不是 随便new出来的TaskQueueViewModel</param>
|
||||
public void SetTaskQueueViewModel(TaskQueueViewModel taskQueueViewModel)
|
||||
{
|
||||
this.taskQueueViewModel = taskQueueViewModel;
|
||||
}
|
||||
|
||||
private void MainWindow_StateChanged(object sender, EventArgs e)
|
||||
{
|
||||
@@ -83,15 +92,16 @@ namespace MeoAsstGui
|
||||
}
|
||||
}
|
||||
|
||||
//private void StartTask(object sender, EventArgs e)
|
||||
//{
|
||||
// 不知道怎么调用 TaskQueue.LinkStart, 等一个有缘的大佬来写(
|
||||
//}
|
||||
private void StartTask(object sender, EventArgs e)
|
||||
{
|
||||
//taskQueueViewModel意外为null了是不是也可以考虑Log一下
|
||||
taskQueueViewModel?.LinkStart();
|
||||
}
|
||||
|
||||
//private void StopTask(object sender, EventArgs e)
|
||||
//{
|
||||
// 不知道怎么调用 TaskQueue.Stop, 等一个有缘的大佬来写(
|
||||
//}
|
||||
private void StopTask(object sender, EventArgs e)
|
||||
{
|
||||
taskQueueViewModel?.Stop();
|
||||
}
|
||||
|
||||
private void App_exit(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace MeoAsstGui
|
||||
var trayObj = _container.Get<TrayIcon>();
|
||||
trayObj.SetVisible(UseTray);
|
||||
trayObj.SetMinimizeToTaskbar(MinimizeToTray);
|
||||
Bootstrapper.SetTrayIconInSettingsViewModel(trayObj);
|
||||
Bootstrapper.SetTrayIconInSettingsViewModel(this);
|
||||
}
|
||||
|
||||
private List<string> _listTitle = new List<string>();
|
||||
|
||||
@@ -66,6 +66,8 @@ namespace MeoAsstGui
|
||||
LogItemViewModels = new ObservableCollection<LogItemViewModel>();
|
||||
InitializeItems();
|
||||
InitTimer();
|
||||
var trayIcon = _container.Get<TrayIcon>();
|
||||
trayIcon.SetTaskQueueViewModel(this);
|
||||
}
|
||||
|
||||
//public void ShowButton()
|
||||
|
||||
Reference in New Issue
Block a user