feat: add course bar length setting and clear blue glass Dock
This commit is contained in:
@@ -88,18 +88,31 @@ class AppController extends ChangeNotifier {
|
||||
Future<void> updateSettings(
|
||||
AppSettings Function(AppSettings current) change,
|
||||
) => _run(() async {
|
||||
final value = change(snapshot.settings);
|
||||
final previous = snapshot.settings;
|
||||
final value = change(previous);
|
||||
if (![5, 10, 15, 30, 60].contains(value.reminderMinutes)) {
|
||||
throw ArgumentError('提醒时间无效');
|
||||
}
|
||||
if (!value.courseHeightScale.isFinite ||
|
||||
value.courseHeightScale < AppSettings.minCourseHeightScale ||
|
||||
value.courseHeightScale > AppSettings.maxCourseHeightScale) {
|
||||
throw ArgumentError('课程条长度无效');
|
||||
}
|
||||
await _save(snapshot.copyWith(settings: value));
|
||||
if (isDemo) {
|
||||
_demoSettings = _demoSettings!.copyWith(
|
||||
colorMode: value.colorMode,
|
||||
singleColorArgb: value.singleColorArgb,
|
||||
courseHeightScale: value.courseHeightScale,
|
||||
);
|
||||
}
|
||||
await _reconcile();
|
||||
final scheduleChanged =
|
||||
previous.semester != value.semester ||
|
||||
previous.remindersEnabled != value.remindersEnabled ||
|
||||
previous.reminderMinutes != value.reminderMinutes ||
|
||||
previous.calendarEnabled != value.calendarEnabled ||
|
||||
previous.calendarId != value.calendarId;
|
||||
if (scheduleChanged) await _reconcile();
|
||||
});
|
||||
Future<void> applyImport(
|
||||
ImportDraft draft, {
|
||||
|
||||
Reference in New Issue
Block a user