diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb index 9d39506..965a85b 100644 --- a/lib/l10n/app_en.arb +++ b/lib/l10n/app_en.arb @@ -1294,6 +1294,7 @@ "usePostersForLibraryIconsDesc": "Show posters instead of icons for libraries", "offline": "Offline", "shortCuts": "Shortcuts", + "keyboardShortCuts": "Keyboard shortcuts", "skipForwardLength": "Skip forward length", "skipBackLength": "Skip back length", "playPause": "Play/Pause", diff --git a/lib/screens/settings/player_settings_page.dart b/lib/screens/settings/player_settings_page.dart index c8d3fae..13b0a3c 100644 --- a/lib/screens/settings/player_settings_page.dart +++ b/lib/screens/settings/player_settings_page.dart @@ -206,29 +206,36 @@ class _PlayerSettingsPageState extends ConsumerState { )), ), if (AdaptiveLayout.inputDeviceOf(context) == InputDevice.pointer) - ...VideoHotKeys.values.map( - (entry) => Padding( - padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), - child: Row( - children: [ - Expanded( - child: Text( - entry.label(context), - style: Theme.of(context).textTheme.titleLarge, - ), - ), - Flexible( - child: KeyCombinationWidget( - currentKey: videoSettings.hotKeys[entry], - defaultKey: videoSettings.defaultShortCuts[entry]!, - onChanged: (value) => - ref.read(videoPlayerSettingsProvider.notifier).setShortcuts(MapEntry(entry, value)), - ), - ) - ], - ), + ExpansionTile( + title: Text( + context.localized.keyboardShortCuts, + style: Theme.of(context).textTheme.titleLarge, ), - ) + children: VideoHotKeys.values.map( + (entry) => Padding( + padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8), + child: Row( + children: [ + Expanded( + child: Text( + entry.label(context), + style: Theme.of(context).textTheme.titleMedium, + ), + ), + Flexible( + child: KeyCombinationWidget( + currentKey: videoSettings.hotKeys[entry], + defaultKey: videoSettings.defaultShortCuts[entry]!, + onChanged: (value) => ref + .read(videoPlayerSettingsProvider.notifier) + .setShortcuts(MapEntry(entry, value)), + ), + ), + ], + ), + ), + ).toList(), + ), ], ), const SizedBox(height: 12), diff --git a/lib/theme.dart b/lib/theme.dart index 5b390af..a50d2d6 100644 --- a/lib/theme.dart +++ b/lib/theme.dart @@ -53,6 +53,10 @@ class FladderTheme { margin: EdgeInsets.zero, shape: smallShape, ), + expansionTileTheme: ExpansionTileThemeData( + shape: RoundedRectangleBorder(borderRadius: FladderTheme.defaultShape.borderRadius), + collapsedShape: RoundedRectangleBorder(borderRadius: FladderTheme.defaultShape.borderRadius), + ), progressIndicatorTheme: const ProgressIndicatorThemeData(), floatingActionButtonTheme: FloatingActionButtonThemeData( backgroundColor: scheme?.secondaryContainer, @@ -62,7 +66,7 @@ class FladderTheme { snackBarTheme: SnackBarThemeData( backgroundColor: scheme?.secondary, behavior: SnackBarBehavior.fixed, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(16)), + shape: RoundedRectangleBorder(borderRadius: FladderTheme.defaultShape.borderRadius), elevation: 5, dismissDirection: DismissDirection.horizontal, ),