Merge branch 'develop' into feat-speed-shortcuts-and-enhancement

This commit is contained in:
Julien9969 2025-09-15 21:08:43 +02:00 committed by GitHub
commit 362e97730c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 39 additions and 41 deletions

View file

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

View file

@ -206,7 +206,12 @@ class _PlayerSettingsPageState extends ConsumerState<PlayerSettingsPage> {
)),
),
if (AdaptiveLayout.inputDeviceOf(context) == InputDevice.pointer)
...VideoHotKeys.values.map(
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(
@ -214,21 +219,23 @@ class _PlayerSettingsPageState extends ConsumerState<PlayerSettingsPage> {
Expanded(
child: Text(
entry.label(context),
style: Theme.of(context).textTheme.titleLarge,
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)),
onChanged: (value) => ref
.read(videoPlayerSettingsProvider.notifier)
.setShortcuts(MapEntry(entry, value)),
),
),
)
],
),
),
)
).toList(),
),
],
),
const SizedBox(height: 12),

View file

@ -1,3 +1,4 @@
import 'package:fladder/models/items/movie_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
@ -200,22 +201,6 @@ class _PosterImageState extends ConsumerState<PosterImage> {
],
),
),
if (widget.poster.unWatched)
Align(
alignment: Alignment.topLeft,
child: StatusCard(
color: Colors.amber,
child: Padding(
padding: const EdgeInsets.all(10),
child: Container(
decoration: const BoxDecoration(
shape: BoxShape.circle,
color: Colors.amber,
),
),
),
),
),
if (widget.inlineTitle)
IgnorePointer(
child: Align(
@ -230,7 +215,8 @@ class _PosterImageState extends ConsumerState<PosterImage> {
),
),
),
if (widget.poster.unPlayedItemCount != null && widget.poster is SeriesModel)
if ((widget.poster.unPlayedItemCount != null && widget.poster is SeriesModel)
|| (widget.poster is MovieModel && !widget.poster.unWatched))
IgnorePointer(
child: Align(
alignment: Alignment.topRight,

View file

@ -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,
),

View file

@ -158,7 +158,7 @@ class _ProgressFloatingButtonState extends ConsumerState<ProgressFloatingButton>
}
: null,
child: FloatingActionButton(
heroTag: "Progress_Floating_Button",
heroTag: null,
onPressed: isActive ? timer.cancel : timer.play,
child: Stack(
fit: StackFit.expand,