added option for timetable naming modes

This commit is contained in:
2025-01-24 11:50:14 +01:00
parent 9f51d68531
commit 65b29ec4b8
8 changed files with 93 additions and 14 deletions

View File

@ -11,6 +11,7 @@ import '../../storage/notification/notificationSettings.dart';
import '../../storage/talk/talkSettings.dart';
import '../../storage/timetable/timetableSettings.dart';
import '../pages/files/files.dart';
import '../pages/timetable/timetableNameMode.dart';
class DefaultSettings {
static Settings get() => Settings(
@ -18,6 +19,7 @@ class DefaultSettings {
devToolsEnabled: false,
timetableSettings: TimetableSettings(
connectDoubleLessons: false,
timetableNameMode: TimetableNameMode.name
),
talkSettings: TalkSettings(
sortFavoritesToTop: true,

View File

@ -14,6 +14,7 @@ import '../../theming/appTheme.dart';
import '../../widget/centeredLeading.dart';
import '../../widget/confirmDialog.dart';
import '../../widget/debug/cacheView.dart';
import '../pages/timetable/timetableNameMode.dart';
import 'defaultSettings.dart';
import 'devToolsSettingsDialog.dart';
import 'privacyInfo.dart';
@ -95,6 +96,29 @@ class _SettingsState extends State<Settings> {
const Divider(),
ListTile(
leading: const Icon(Icons.abc_outlined),
title: const Text('Fachbezeichnung'),
trailing: DropdownButton<TimetableNameMode>(
value: settings.val().timetableSettings.timetableNameMode,
icon: Icon(Icons.arrow_drop_down),
items: TimetableNameMode.values.map((e) => DropdownMenuItem(
value: e,
enabled: e != settings.val().timetableSettings.timetableNameMode,
child: Row(
children: [
Icon(TimetableNameModes.getDisplayOptions(e).icon),
const SizedBox(width: 10),
Text(TimetableNameModes.getDisplayOptions(e).displayName),
],
),
)).toList(),
onChanged: (value) {
settings.val(write: true).timetableSettings.timetableNameMode = value!;
Provider.of<TimetableProps>(context, listen: false).run(renew: false);
},
)
),
ListTile(
leading: const Icon(Icons.calendar_view_day_outlined),
title: const Text('Doppelstunden zusammenhängend anzeigen'),