closeWarning method
void
closeWarning()
Displays a warning dialog before closing the image editor.
Implementation
void closeWarning() async {
if (disablePopScope) {
Navigator.pop(context);
return;
}
_openDialog = true;
bool close = false;
if (!mounted) return;
if (customWidgets.mainEditor.closeWarningDialog != null) {
close = await customWidgets.mainEditor.closeWarningDialog!(this);
} else {
await showAdaptiveDialog(
context: context,
builder: (BuildContext context) => Theme(
data: _theme,
child: AdaptiveDialog(
designMode: designMode,
brightness: _theme.brightness,
imageEditorTheme: imageEditorTheme,
title: Text(i18n.various.closeEditorWarningTitle),
content: Text(i18n.various.closeEditorWarningMessage),
actions: <AdaptiveDialogAction>[
AdaptiveDialogAction(
designMode: designMode,
onPressed: () => Navigator.pop(context, 'Cancel'),
child: Text(i18n.various.closeEditorWarningCancelBtn),
),
AdaptiveDialogAction(
designMode: designMode,
onPressed: () {
close = true;
stateManager.position = 0;
Navigator.pop(context, 'OK');
},
child: Text(i18n.various.closeEditorWarningConfirmBtn),
),
],
),
),
);
}
if (close) {
if (onCloseEditor == null) {
if (mounted) Navigator.pop(context);
} else {
onCloseEditor!.call();
}
}
_openDialog = false;
}