Add pref to updated Editor settings

This commit is contained in:
Ming Ming 2022-09-10 15:13:14 +08:00
parent eda68ff55c
commit 7b030e5931
3 changed files with 112 additions and 33 deletions

View file

@ -403,13 +403,19 @@
},
"settingsShowDateInAlbumTitle": "Group photos by date",
"settingsShowDateInAlbumDescription": "Apply only when the album is sorted by time",
"settingsPhotoEnhancementTitle": "Photo enhancement",
"settingsPhotoEnhancementPageTitle": "Photo enhancement settings",
"@settingsPhotoEnhancementPageTitle": {
"description": "Dedicated page for photo enhancement settings"
"settingsImageEditTitle": "Editor",
"@settingsImageEditTitle": {
"description": "Include settings for image enhancements and the image editor"
},
"settingsEnhanceMaxResolutionTitle": "Max output resolution",
"settingsImageEditDescription": "Customize image enhancements and the image editor",
"settingsEnhanceMaxResolutionTitle2": "Image resolution for enhancements",
"settingsEnhanceMaxResolutionDescription": "Photos larger than the selected resolution will be downscaled.\n\nHigh resolution photos require significantly more memory and time to process. Please lower this setting if the app crashed while enhancing your photos.",
"settingsImageEditSaveResultsToServerTitle": "Save results to server",
"@settingsImageEditSaveResultsToServerTitle": {
"description": "Whether to save the edit/enhance results to server instead of the current device"
},
"settingsImageEditSaveResultsToServerTrueDescription": "Results are saved to server, fallback to device storage if failed",
"settingsImageEditSaveResultsToServerFalseDescription": "Results are saved to this device",
"settingsThemeTitle": "Theme",
"settingsThemeDescription": "Customize the appearance of the app",
"settingsThemePageTitle": "Theme settings",

View file

@ -25,10 +25,13 @@
"settingsAlbumPageTitle",
"settingsShowDateInAlbumTitle",
"settingsShowDateInAlbumDescription",
"settingsPhotoEnhancementTitle",
"settingsPhotoEnhancementPageTitle",
"settingsEnhanceMaxResolutionTitle",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsEnhanceMaxResolutionDescription",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"settingsMiscellaneousTitle",
"settingsMiscellaneousPageTitle",
"settingsDoubleTapExitTitle",
@ -190,10 +193,13 @@
"settingsAlbumPageTitle",
"settingsShowDateInAlbumTitle",
"settingsShowDateInAlbumDescription",
"settingsPhotoEnhancementTitle",
"settingsPhotoEnhancementPageTitle",
"settingsEnhanceMaxResolutionTitle",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsEnhanceMaxResolutionDescription",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"settingsMiscellaneousTitle",
"settingsMiscellaneousPageTitle",
"settingsDoubleTapExitTitle",
@ -351,6 +357,12 @@
"settingsPhotosPageTitle",
"settingsMemoriesRangeTitle",
"settingsMemoriesRangeValueText",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"settingsDoubleTapExitTitle",
"shareMethodPreviewTitle",
"shareMethodPreviewDescription",
@ -406,6 +418,12 @@
"settingsPhotosPageTitle",
"settingsMemoriesRangeTitle",
"settingsMemoriesRangeValueText",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"rootPickerSkipConfirmationDialogContent2",
"shareMethodPreviewTitle",
"shareMethodPreviewDescription",
@ -429,6 +447,12 @@
"settingsPhotosPageTitle",
"settingsMemoriesRangeTitle",
"settingsMemoriesRangeValueText",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"shareMethodPreviewTitle",
"shareMethodPreviewDescription",
"shareMethodOriginalFileTitle",
@ -456,10 +480,13 @@
"settingsPhotosPageTitle",
"settingsMemoriesRangeTitle",
"settingsMemoriesRangeValueText",
"settingsPhotoEnhancementTitle",
"settingsPhotoEnhancementPageTitle",
"settingsEnhanceMaxResolutionTitle",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsEnhanceMaxResolutionDescription",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"settingsMiscellaneousTitle",
"settingsMiscellaneousPageTitle",
"settingsDoubleTapExitTitle",
@ -539,10 +566,13 @@
"settingsPhotosPageTitle",
"settingsMemoriesRangeTitle",
"settingsMemoriesRangeValueText",
"settingsPhotoEnhancementTitle",
"settingsPhotoEnhancementPageTitle",
"settingsEnhanceMaxResolutionTitle",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsEnhanceMaxResolutionDescription",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"settingsMiscellaneousTitle",
"settingsMiscellaneousPageTitle",
"settingsDoubleTapExitTitle",
@ -640,10 +670,13 @@
"settingsPhotosPageTitle",
"settingsMemoriesRangeTitle",
"settingsMemoriesRangeValueText",
"settingsPhotoEnhancementTitle",
"settingsPhotoEnhancementPageTitle",
"settingsEnhanceMaxResolutionTitle",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsEnhanceMaxResolutionDescription",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"settingsMiscellaneousTitle",
"settingsMiscellaneousPageTitle",
"settingsDoubleTapExitTitle",
@ -720,10 +753,13 @@
"settingsPhotosPageTitle",
"settingsMemoriesRangeTitle",
"settingsMemoriesRangeValueText",
"settingsPhotoEnhancementTitle",
"settingsPhotoEnhancementPageTitle",
"settingsEnhanceMaxResolutionTitle",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsEnhanceMaxResolutionDescription",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"settingsMiscellaneousTitle",
"settingsMiscellaneousPageTitle",
"settingsDoubleTapExitTitle",
@ -800,10 +836,13 @@
"settingsPhotosPageTitle",
"settingsMemoriesRangeTitle",
"settingsMemoriesRangeValueText",
"settingsPhotoEnhancementTitle",
"settingsPhotoEnhancementPageTitle",
"settingsEnhanceMaxResolutionTitle",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsEnhanceMaxResolutionDescription",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"settingsMiscellaneousTitle",
"settingsMiscellaneousPageTitle",
"settingsDoubleTapExitTitle",
@ -880,10 +919,13 @@
"settingsPhotosPageTitle",
"settingsMemoriesRangeTitle",
"settingsMemoriesRangeValueText",
"settingsPhotoEnhancementTitle",
"settingsPhotoEnhancementPageTitle",
"settingsEnhanceMaxResolutionTitle",
"settingsImageEditTitle",
"settingsImageEditDescription",
"settingsEnhanceMaxResolutionTitle2",
"settingsEnhanceMaxResolutionDescription",
"settingsImageEditSaveResultsToServerTitle",
"settingsImageEditSaveResultsToServerTrueDescription",
"settingsImageEditSaveResultsToServerFalseDescription",
"settingsMiscellaneousTitle",
"settingsMiscellaneousPageTitle",
"settingsDoubleTapExitTitle",

View file

@ -177,7 +177,8 @@ class _SettingsState extends State<Settings> {
Icons.auto_fix_high_outlined,
color: AppTheme.getUnfocusedIconColor(context),
),
label: L10n.global().settingsPhotoEnhancementTitle,
label: L10n.global().settingsImageEditTitle,
description: L10n.global().settingsImageEditDescription,
builder: () => const EnhancementSettings(),
),
_buildSubSettings(
@ -1293,6 +1294,7 @@ class _EnhancementSettingsState extends State<EnhancementSettings> {
super.initState();
_maxWidth = Pref().getEnhanceMaxWidthOr();
_maxHeight = Pref().getEnhanceMaxHeightOr();
_isSaveEditResultToServer = Pref().isSaveEditResultToServerOr();
}
@override
@ -1311,13 +1313,24 @@ class _EnhancementSettingsState extends State<EnhancementSettings> {
slivers: [
SliverAppBar(
pinned: true,
title: Text(L10n.global().settingsPhotoEnhancementPageTitle),
title: Text(L10n.global().settingsImageEditTitle),
),
SliverList(
delegate: SliverChildListDelegate(
[
SwitchListTile(
title: Text(
L10n.global().settingsImageEditSaveResultsToServerTitle),
subtitle: Text(_isSaveEditResultToServer
? L10n.global()
.settingsImageEditSaveResultsToServerTrueDescription
: L10n.global()
.settingsImageEditSaveResultsToServerFalseDescription),
value: _isSaveEditResultToServer,
onChanged: _onSaveEditResultToServerChanged,
),
ListTile(
title: Text(L10n.global().settingsEnhanceMaxResolutionTitle),
title: Text(L10n.global().settingsEnhanceMaxResolutionTitle2),
subtitle: Text("${_maxWidth}x$_maxHeight"),
onTap: () => _onMaxResolutionTap(context),
),
@ -1335,7 +1348,7 @@ class _EnhancementSettingsState extends State<EnhancementSettings> {
context: context,
builder: (_) => AppTheme(
child: AlertDialog(
title: Text(L10n.global().settingsEnhanceMaxResolutionTitle),
title: Text(L10n.global().settingsEnhanceMaxResolutionTitle2),
content: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
@ -1394,8 +1407,26 @@ class _EnhancementSettingsState extends State<EnhancementSettings> {
}
}
Future<void> _onSaveEditResultToServerChanged(bool value) async {
final oldValue = _isSaveEditResultToServer;
setState(() {
_isSaveEditResultToServer = value;
});
if (!await Pref().setSaveEditResultToServer(value)) {
_log.severe("[_onSaveEditResultToServerChanged] Failed writing pref");
SnackBarManager().showSnackBar(SnackBar(
content: Text(L10n.global().writePreferenceFailureNotification),
duration: k.snackBarDurationNormal,
));
setState(() {
_isSaveEditResultToServer = oldValue;
});
}
}
late int _maxWidth;
late int _maxHeight;
late bool _isSaveEditResultToServer;
static final _log = Logger("widget.settings._EnhancementSettingsState");
}