From d862c5397ea6c5b12bf6f6d0655d58b71281ff36 Mon Sep 17 00:00:00 2001 From: QuantumSoul Date: Sun, 21 Jul 2024 14:23:49 +0200 Subject: [PATCH] Allow disabling path check --- lib/settings.dart | 14 ++++++++++---- lib/storage.dart | 19 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/lib/settings.dart b/lib/settings.dart index 57f9d7a..a232eeb 100644 --- a/lib/settings.dart +++ b/lib/settings.dart @@ -27,6 +27,12 @@ class SettingsPage extends StatelessWidget { onChanged: (bool newValue) { settingsProvider.whitelist = newValue; }), + SwitchSetting( + text: 'Do not save media ', + value: settingsProvider.doNotSaveMedia, + onChanged: (bool newValue) { + settingsProvider.doNotSaveMedia = newValue; + }), SwitchSetting( text: 'Delete existing files ', value: settingsProvider.overwriteDirs, @@ -34,10 +40,10 @@ class SettingsPage extends StatelessWidget { settingsProvider.overwriteDirs = newValue; }), SwitchSetting( - text: 'Do not save media ', - value: settingsProvider.doNotSaveMedia, + text: 'Disable path name check', + value: settingsProvider.disablePathCheck, onChanged: (bool newValue) { - settingsProvider.doNotSaveMedia = newValue; + settingsProvider.disablePathCheck = newValue; }), PathPicker( pickerText: 'ROMs', @@ -45,7 +51,7 @@ class SettingsPage extends StatelessWidget { onChanged: (String newString) { settingsProvider.pathRoms = newString; }, - nameCheck: 'ROMs'), + nameCheck: settingsProvider.disablePathCheck ? '' : 'ROMs'), if (!settingsProvider.doNotSaveMedia) PathPicker( pickerText: 'ES-DE/downloaded_media', diff --git a/lib/storage.dart b/lib/storage.dart index 4b56a51..9494581 100644 --- a/lib/storage.dart +++ b/lib/storage.dart @@ -7,12 +7,14 @@ class SettingsProvider with ChangeNotifier { late bool _whitelist; late bool _overwriteDirs; late bool _doNotSaveMedia; + late bool _disablePathCheck; late String _pathRoms; late String _pathMedia; bool get whitelist => _whitelist; bool get overwriteDirs => _overwriteDirs; bool get doNotSaveMedia => _doNotSaveMedia; + bool get disablePathCheck => _disablePathCheck; String get pathRoms => _pathRoms; String get pathMedia => _pathMedia; @@ -23,6 +25,10 @@ class SettingsProvider with ChangeNotifier { } set overwriteDirs(bool value) { + if (value) { + disablePathCheck = false; + } + _overwriteDirs = value; prefs.setBool('setting_overwrite', value); notifyListeners(); @@ -34,6 +40,18 @@ class SettingsProvider with ChangeNotifier { notifyListeners(); } + set disablePathCheck(bool value) { + if (value) { + overwriteDirs = false; + } else if (_disablePathCheck) { + pathRoms = ''; + } + + _disablePathCheck = value; + prefs.setBool('setting_disable_path_check', value); + notifyListeners(); + } + set pathRoms(String value) { _pathRoms = value; prefs.setString('setting_path_roms', value); @@ -52,6 +70,7 @@ class SettingsProvider with ChangeNotifier { _whitelist = prefs.getBool('setting_whitelist') ?? false; _overwriteDirs = prefs.getBool('setting_overwrite') ?? false; _doNotSaveMedia = prefs.getBool('setting_no_media') ?? false; + _disablePathCheck = prefs.getBool('setting_disable_path_check') ?? false; _pathRoms = prefs.getString('setting_path_roms') ?? 'no directory'; _pathMedia = prefs.getString('setting_path_media') ?? 'no directory';