diff --git a/src/MeoAsstGui/Resources/Localizations/en-us.xaml b/src/MeoAsstGui/Resources/Localizations/en-us.xaml index 2dd7c04d7e..ae1474aa19 100644 --- a/src/MeoAsstGui/Resources/Localizations/en-us.xaml +++ b/src/MeoAsstGui/Resources/Localizations/en-us.xaml @@ -180,6 +180,7 @@ Close Emulator Exit and Close Emulator Hibernate* + Exit and Close Emulator and Hibernate* Shutdown* Link Start! diff --git a/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml b/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml index d1e1b45627..57ae6837e4 100644 --- a/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml +++ b/src/MeoAsstGui/Resources/Localizations/ja-jp.xaml @@ -180,6 +180,7 @@ エミュレータを終了する MAAとエミュレータを終了する 休止状態にする* + MAAとエミューレータを終了し、PCをスリープさせる* シャットダウン* Link Start! diff --git a/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml b/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml index 3b8a2ea4ab..fa94880da8 100644 --- a/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml +++ b/src/MeoAsstGui/Resources/Localizations/zh-cn.xaml @@ -180,6 +180,7 @@ 关闭模拟器 退出并关闭模拟器 休眠* + 退出并关闭模拟器并休眠* 关机* Link Start! diff --git a/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml b/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml index 39df0a99b8..c117d6b0b6 100644 --- a/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml +++ b/src/MeoAsstGui/Resources/Localizations/zh-tw.xaml @@ -180,6 +180,7 @@ 關閉模擬器 退出並關閉模擬器 休眠* + 退出並關閉模擬器並休眠* 關機* Link Start! diff --git a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs index 9cf247ea0d..375ba3896e 100644 --- a/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs +++ b/src/MeoAsstGui/ViewModels/TaskQueueViewModel.cs @@ -88,7 +88,7 @@ namespace MeoAsstGui { SetAndNotify(ref _actionAfterCompleted, value.ToString()); string storeValue = ActionType.DoNothing.ToString(); - if (value != ActionType.Shutdown && value != ActionType.Hibernate) + if (value != ActionType.Shutdown && value != ActionType.Hibernate && value != ActionType.ExitMAAAndCloseEmulatorAndHibernate) { storeValue = value.ToString(); } @@ -270,6 +270,7 @@ namespace MeoAsstGui // new GenericCombData{ Display="待机",Value=ActionTypeAfterCompleted.Suspend }, new GenericCombData { Display = Localization.GetString("Hibernate"), Value = ActionType.Hibernate }, + new GenericCombData { Display = Localization.GetString("ExitMAAAndCloseEmulatorAndHibernate"), Value = ActionType.ExitMAAAndCloseEmulatorAndHibernate }, new GenericCombData { Display = Localization.GetString("Shutdown"), Value = ActionType.Shutdown }, }; var temp_order_list = new List(new DragItemViewModel[task_list.Length]); @@ -1090,6 +1091,11 @@ namespace MeoAsstGui /// Hibernate, + /// + /// Exits MAA and emulator and computer hibernates. + /// + ExitMAAAndCloseEmulatorAndHibernate, + /// /// Computer shutdown. /// @@ -1168,6 +1174,24 @@ namespace MeoAsstGui Process.Start("shutdown.exe", "-h"); break; + case ActionType.ExitMAAAndCloseEmulatorAndHibernate: + if (!killEumlatorbyWindow()) + { + AddLog(Localization.GetString("CloseEmulatorFailed"), LogColor.Error); + } + + // 休眠提示 + AddLog(Localization.GetString("HibernatePrompt"), LogColor.Error); + + // 休眠不能加时间参数,https://github.com/MaaAssistantArknights/MaaAssistantArknights/issues/1133 + Process.Start("shutdown.exe", "-h"); + + // Shutdown 会调用 OnExit 但 Exit 不会 + Application.Current.Shutdown(); + + // Environment.Exit(0); + break; + default: break; } diff --git a/src/MeoAsstGui/Views/TaskQueueView.xaml b/src/MeoAsstGui/Views/TaskQueueView.xaml index 9589e14c4b..7ca2f14247 100644 --- a/src/MeoAsstGui/Views/TaskQueueView.xaml +++ b/src/MeoAsstGui/Views/TaskQueueView.xaml @@ -125,7 +125,7 @@ TextWrapping="Wrap" />