forked from firka/student-legacy
added option to hide breaks in timetable (settings)
This commit is contained in:
parent
ea44f74cc4
commit
23b6e1b8c7
@ -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!!!
|
||||||
|
@ -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();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user