diff --git a/filcnaplo/lib/database/init.dart b/filcnaplo/lib/database/init.dart index d384229..12f7fe8 100644 --- a/filcnaplo/lib/database/init.dart +++ b/filcnaplo/lib/database/init.dart @@ -36,7 +36,10 @@ const settingsDB = DatabaseStruct("settings", { "live_activity_color": String, "welcome_message": String, "app_icon": String, // paints - "current_theme_id": String, "current_theme_display_name": String, "current_theme_creator": String, + "current_theme_id": String, "current_theme_display_name": String, + "current_theme_creator": String, + // more + "show_breaks": int, }); // DON'T FORGET TO UPDATE DEFAULT VALUES IN `initDB` MIGRATION OR ELSE PARENTS WILL COMPLAIN ABOUT THEIR CHILDREN MISSING // YOU'VE BEEN WARNED!!! diff --git a/filcnaplo/lib/models/settings.dart b/filcnaplo/lib/models/settings.dart index d488b00..270ae2e 100644 --- a/filcnaplo/lib/models/settings.dart +++ b/filcnaplo/lib/models/settings.dart @@ -83,6 +83,8 @@ class SettingsProvider extends ChangeNotifier { String _currentThemeId; String _currentThemeDisplayName; String _currentThemeCreator; + // more + bool _showBreaks; SettingsProvider({ DatabaseProvider? database, @@ -134,6 +136,7 @@ class SettingsProvider extends ChangeNotifier { required String currentThemeId, required String currentThemeDisplayName, required String currentThemeCreator, + required bool showBreaks, }) : _database = database, _language = language, _startPage = startPage, @@ -182,7 +185,8 @@ class SettingsProvider extends ChangeNotifier { _appIcon = appIcon, _currentThemeId = currentThemeId, _currentThemeDisplayName = currentThemeDisplayName, - _currentThemeCreator = currentThemeCreator; + _currentThemeCreator = currentThemeCreator, + _showBreaks = showBreaks; factory SettingsProvider.fromMap(Map map, {required DatabaseProvider database}) { @@ -251,6 +255,7 @@ class SettingsProvider extends ChangeNotifier { currentThemeId: map['current_theme_id'], currentThemeDisplayName: map['current_theme_display_name'], currentThemeCreator: map['current_theme_creator'], + showBreaks: map['show_breaks'] == 1, ); } @@ -307,6 +312,7 @@ class SettingsProvider extends ChangeNotifier { "current_theme_id": _currentThemeId, "current_theme_display_name": _currentThemeDisplayName, "current_theme_creator": _currentThemeCreator, + "show_breaks": _showBreaks ? 1 : 0, }; } @@ -367,6 +373,7 @@ class SettingsProvider extends ChangeNotifier { currentThemeId: '', currentThemeDisplayName: '', currentThemeCreator: 'reFilc', + showBreaks: true, ); } @@ -422,6 +429,7 @@ class SettingsProvider extends ChangeNotifier { String get currentThemeId => _currentThemeId; String get currentThemeDisplayName => _currentThemeDisplayName; String get currentThemeCreator => _currentThemeCreator; + bool get showBreaks => _showBreaks; Future update({ bool store = true, @@ -473,6 +481,7 @@ class SettingsProvider extends ChangeNotifier { String? currentThemeId, String? currentThemeDisplayName, String? currentThemeCreator, + bool? showBreaks, }) async { if (language != null && language != _language) _language = language; if (startPage != null && startPage != _startPage) _startPage = startPage; @@ -614,6 +623,9 @@ class SettingsProvider extends ChangeNotifier { currentThemeCreator != _currentThemeCreator) { _currentThemeCreator = currentThemeCreator; } + if (showBreaks != null && showBreaks != _showBreaks) { + _showBreaks = showBreaks; + } // store or not if (store) await _database?.store.storeSettings(this); notifyListeners();