From d5cb011c7fcd9e2f7f721636375f45415fad2996 Mon Sep 17 00:00:00 2001 From: cialloo Date: Thu, 25 Jul 2024 22:51:27 +0800 Subject: [PATCH] feat: wait for exit dialog response --- lib/application_exit_control.dart | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/application_exit_control.dart b/lib/application_exit_control.dart index 0574e5a..491e79b 100644 --- a/lib/application_exit_control.dart +++ b/lib/application_exit_control.dart @@ -33,7 +33,7 @@ class _ApplicationExitControlState extends State { Future _handleExitRequest() async { if (SharedPrefSingleton().minimizeOnQuit == null) { - showDialog( + final exitApp = await showDialog( context: context, builder: (context) { bool minimize = false; @@ -71,14 +71,14 @@ class _ApplicationExitControlState extends State { children: [ TextButton( onPressed: () { - Navigator.pop(context); + Navigator.pop(context, false); windowManager.hide(); }, child: Text(AppLocalizations.of(context)!.minimize), ), TextButton( onPressed: () { - Navigator.pop(context); + Navigator.pop(context, true); }, child: Text(AppLocalizations.of(context)!.exit), ), @@ -91,6 +91,13 @@ class _ApplicationExitControlState extends State { }, ); + if (exitApp == null || exitApp == false) { + return AppExitResponse.cancel; + } + } + + if (SharedPrefSingleton().minimizeOnQuit == false) { + windowManager.hide(); return AppExitResponse.cancel; }