added option to hide breaks in timetable (settings)

This commit is contained in:
Kima 2024-02-08 20:15:51 +01:00
parent ea44f74cc4
commit 23b6e1b8c7
2 changed files with 17 additions and 2 deletions

View File

@ -36,7 +36,10 @@ const settingsDB = DatabaseStruct("settings", {
"live_activity_color": String, "live_activity_color": String,
"welcome_message": String, "app_icon": String, "welcome_message": String, "app_icon": String,
// paints // 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 // DON'T FORGET TO UPDATE DEFAULT VALUES IN `initDB` MIGRATION OR ELSE PARENTS WILL COMPLAIN ABOUT THEIR CHILDREN MISSING
// YOU'VE BEEN WARNED!!! // YOU'VE BEEN WARNED!!!

View File

@ -83,6 +83,8 @@ class SettingsProvider extends ChangeNotifier {
String _currentThemeId; String _currentThemeId;
String _currentThemeDisplayName; String _currentThemeDisplayName;
String _currentThemeCreator; String _currentThemeCreator;
// more
bool _showBreaks;
SettingsProvider({ SettingsProvider({
DatabaseProvider? database, DatabaseProvider? database,
@ -134,6 +136,7 @@ class SettingsProvider extends ChangeNotifier {
required String currentThemeId, required String currentThemeId,
required String currentThemeDisplayName, required String currentThemeDisplayName,
required String currentThemeCreator, required String currentThemeCreator,
required bool showBreaks,
}) : _database = database, }) : _database = database,
_language = language, _language = language,
_startPage = startPage, _startPage = startPage,
@ -182,7 +185,8 @@ class SettingsProvider extends ChangeNotifier {
_appIcon = appIcon, _appIcon = appIcon,
_currentThemeId = currentThemeId, _currentThemeId = currentThemeId,
_currentThemeDisplayName = currentThemeDisplayName, _currentThemeDisplayName = currentThemeDisplayName,
_currentThemeCreator = currentThemeCreator; _currentThemeCreator = currentThemeCreator,
_showBreaks = showBreaks;
factory SettingsProvider.fromMap(Map map, factory SettingsProvider.fromMap(Map map,
{required DatabaseProvider database}) { {required DatabaseProvider database}) {
@ -251,6 +255,7 @@ class SettingsProvider extends ChangeNotifier {
currentThemeId: map['current_theme_id'], currentThemeId: map['current_theme_id'],
currentThemeDisplayName: map['current_theme_display_name'], currentThemeDisplayName: map['current_theme_display_name'],
currentThemeCreator: map['current_theme_creator'], currentThemeCreator: map['current_theme_creator'],
showBreaks: map['show_breaks'] == 1,
); );
} }
@ -307,6 +312,7 @@ class SettingsProvider extends ChangeNotifier {
"current_theme_id": _currentThemeId, "current_theme_id": _currentThemeId,
"current_theme_display_name": _currentThemeDisplayName, "current_theme_display_name": _currentThemeDisplayName,
"current_theme_creator": _currentThemeCreator, "current_theme_creator": _currentThemeCreator,
"show_breaks": _showBreaks ? 1 : 0,
}; };
} }
@ -367,6 +373,7 @@ class SettingsProvider extends ChangeNotifier {
currentThemeId: '', currentThemeId: '',
currentThemeDisplayName: '', currentThemeDisplayName: '',
currentThemeCreator: 'reFilc', currentThemeCreator: 'reFilc',
showBreaks: true,
); );
} }
@ -422,6 +429,7 @@ class SettingsProvider extends ChangeNotifier {
String get currentThemeId => _currentThemeId; String get currentThemeId => _currentThemeId;
String get currentThemeDisplayName => _currentThemeDisplayName; String get currentThemeDisplayName => _currentThemeDisplayName;
String get currentThemeCreator => _currentThemeCreator; String get currentThemeCreator => _currentThemeCreator;
bool get showBreaks => _showBreaks;
Future<void> update({ Future<void> update({
bool store = true, bool store = true,
@ -473,6 +481,7 @@ class SettingsProvider extends ChangeNotifier {
String? currentThemeId, String? currentThemeId,
String? currentThemeDisplayName, String? currentThemeDisplayName,
String? currentThemeCreator, String? currentThemeCreator,
bool? showBreaks,
}) async { }) async {
if (language != null && language != _language) _language = language; if (language != null && language != _language) _language = language;
if (startPage != null && startPage != _startPage) _startPage = startPage; if (startPage != null && startPage != _startPage) _startPage = startPage;
@ -614,6 +623,9 @@ class SettingsProvider extends ChangeNotifier {
currentThemeCreator != _currentThemeCreator) { currentThemeCreator != _currentThemeCreator) {
_currentThemeCreator = currentThemeCreator; _currentThemeCreator = currentThemeCreator;
} }
if (showBreaks != null && showBreaks != _showBreaks) {
_showBreaks = showBreaks;
}
// store or not // store or not
if (store) await _database?.store.storeSettings(this); if (store) await _database?.store.storeSettings(this);
notifyListeners(); notifyListeners();