feat(player): add screenshot shortcut

close #1055
This commit is contained in:
edde746
2026-05-16 23:50:08 +02:00
parent cfd4aa307d
commit 6bad454830
37 changed files with 266 additions and 77 deletions
@@ -182,6 +182,7 @@ class KeyboardShortcutsService extends ChangeNotifier {
VoidCallback? onSkipMarker,
VoidCallback? onNextEpisode,
VoidCallback? onPreviousEpisode,
VoidCallback? onScreenshot,
int? currentPositionEpoch,
ValueChanged<int>? onLiveSeek,
}) {
@@ -258,6 +259,7 @@ class KeyboardShortcutsService extends ChangeNotifier {
onSkipMarker: onSkipMarker,
onNextEpisode: onNextEpisode,
onPreviousEpisode: onPreviousEpisode,
onScreenshot: onScreenshot,
currentPositionEpoch: currentPositionEpoch,
onLiveSeek: onLiveSeek,
);
@@ -281,6 +283,7 @@ class KeyboardShortcutsService extends ChangeNotifier {
VoidCallback? onSkipMarker,
VoidCallback? onNextEpisode,
VoidCallback? onPreviousEpisode,
VoidCallback? onScreenshot,
int? currentPositionEpoch,
ValueChanged<int>? onLiveSeek,
}) {
@@ -374,6 +377,9 @@ class KeyboardShortcutsService extends ChangeNotifier {
case 'skip_marker':
onSkipMarker?.call();
break;
case 'screenshot':
unawaited(player.command(['screenshot', 'window']).then((_) => onScreenshot?.call()));
break;
}
}
@@ -425,6 +431,8 @@ class KeyboardShortcutsService extends ChangeNotifier {
return t.hotkeys.actions.shaderToggle;
case 'skip_marker':
return t.hotkeys.actions.skipMarker;
case 'screenshot':
return t.hotkeys.actions.screenshot;
default:
return action;
}