From 9f6254cc82cb8f4efd66057a90d0b01348c2568a Mon Sep 17 00:00:00 2001 From: csf Date: Thu, 21 Apr 2022 10:02:47 +0800 Subject: [PATCH] dialog backDismiss --- lib/common.dart | 22 ++++++++++------------ lib/pages/remote_page.dart | 3 +-- lib/pages/scan_page.dart | 5 +---- lib/pages/settings_page.dart | 5 +---- 4 files changed, 13 insertions(+), 22 deletions(-) diff --git a/lib/common.dart b/lib/common.dart index 1b722c78f..42487379c 100644 --- a/lib/common.dart +++ b/lib/common.dart @@ -96,6 +96,7 @@ class DialogManager { static Future show(DialogBuilder builder, {bool clickMaskDismiss = false, + bool backDismiss = false, String? tag, bool useAnimation = true}) async { final t; @@ -113,6 +114,7 @@ class DialogManager { final res = await SmartDialog.show( tag: t, clickMaskDismiss: clickMaskDismiss, + backDismiss: backDismiss, useAnimation: useAnimation, builder: (_) => StatefulBuilder( builder: (_, setState) => builder(setState, close))); @@ -125,27 +127,23 @@ class CustomAlertDialog extends StatelessWidget { {required this.title, required this.content, required this.actions, - this.onWillPop, this.contentPadding}); final Widget title; final Widget content; final List actions; - final WillPopCallback? onWillPop; final double? contentPadding; @override Widget build(BuildContext context) { - return WillPopScope( - onWillPop: onWillPop ?? () async => false, - child: AlertDialog( - scrollable: true, - title: title, - contentPadding: EdgeInsets.symmetric( - horizontal: contentPadding ?? 25, vertical: 10), - content: content, - actions: actions, - )); + return AlertDialog( + scrollable: true, + title: title, + contentPadding: + EdgeInsets.symmetric(horizontal: contentPadding ?? 25, vertical: 10), + content: content, + actions: actions, + ); } } diff --git a/lib/pages/remote_page.dart b/lib/pages/remote_page.dart index 574d7f553..b1563e66d 100644 --- a/lib/pages/remote_page.dart +++ b/lib/pages/remote_page.dart @@ -877,10 +877,9 @@ void showOptions() { ] + more), actions: [], - onWillPop: () async => true, contentPadding: 0, ); - }, clickMaskDismiss: true); + }, clickMaskDismiss: true, backDismiss: true); } void showSetOSPassword(bool login) { diff --git a/lib/pages/scan_page.dart b/lib/pages/scan_page.dart index 22084ec52..0bc6dfb21 100644 --- a/lib/pages/scan_page.dart +++ b/lib/pages/scan_page.dart @@ -244,11 +244,8 @@ void showServerSettingsWithValue( child: Text(translate('OK')), ), ], - onWillPop: () async { - return true; - }, ); - }, clickMaskDismiss: true); + }); } String? validate(value) { diff --git a/lib/pages/settings_page.dart b/lib/pages/settings_page.dart index becf23a6d..90ff0d564 100644 --- a/lib/pages/settings_page.dart +++ b/lib/pages/settings_page.dart @@ -118,11 +118,8 @@ void showAbout() { )), ]), actions: [], - onWillPop: () async { - return true; - }, ); - }, clickMaskDismiss: true); + }, clickMaskDismiss: true, backDismiss: true); } Future login(String name, String pass) async {