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,
"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!!!

View File

@ -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<void> 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();