From 0fc5a063327c3c9ead89a68b3800ad8510b56e9a Mon Sep 17 00:00:00 2001 From: WithoutPants <53250216+WithoutPants@users.noreply.github.com> Date: Mon, 16 Aug 2021 14:14:39 +1000 Subject: [PATCH] Add scene queue keyboard shortcuts (#1635) --- ui/v2.5/src/components/Changelog/versions/v090.md | 1 + ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx | 12 +++++++++++- ui/v2.5/src/docs/en/KeyboardShortcuts.md | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ui/v2.5/src/components/Changelog/versions/v090.md b/ui/v2.5/src/components/Changelog/versions/v090.md index af123a8d6..51c28b421 100644 --- a/ui/v2.5/src/components/Changelog/versions/v090.md +++ b/ui/v2.5/src/components/Changelog/versions/v090.md @@ -7,6 +7,7 @@ * Added not equals/greater than/less than modifiers for resolution criteria. ([#1568](https://github.com/stashapp/stash/pull/1568)) ### 🎨 Improvements +* Added keyboard shortcuts for scene queue navigation. ([#1635](https://github.com/stashapp/stash/pull/1635)) * Made performer scrape menu scrollable. ([#1634](https://github.com/stashapp/stash/pull/1634)) * Improve Studio UI. ([#1629](https://github.com/stashapp/stash/pull/1629)) * Improve link styling and ensure links open in a new tab. ([#1622](https://github.com/stashapp/stash/pull/1622)) diff --git a/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx b/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx index 3c103c442..0e2d14220 100644 --- a/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx +++ b/ui/v2.5/src/components/Scenes/SceneDetails/Scene.tsx @@ -291,7 +291,9 @@ export const Scene: React.FC = () => { const { query } = sceneQueue; const pages = Math.ceil(queueTotal / query.itemsPerPage); const page = Math.floor(Math.random() * pages) + 1; - const index = Math.floor(Math.random() * query.itemsPerPage); + const index = Math.floor( + Math.random() * Math.min(query.itemsPerPage, queueTotal) + ); const filterCopy = sceneQueue.query.clone(); filterCopy.currentPage = page; const queryResults = await queryFindScenes(filterCopy); @@ -554,17 +556,25 @@ export const Scene: React.FC = () => { // set up hotkeys useEffect(() => { Mousetrap.bind("a", () => setActiveTabKey("scene-details-panel")); + Mousetrap.bind("q", () => setActiveTabKey("scene-queue-panel")); Mousetrap.bind("e", () => setActiveTabKey("scene-edit-panel")); Mousetrap.bind("k", () => setActiveTabKey("scene-markers-panel")); Mousetrap.bind("f", () => setActiveTabKey("scene-file-info-panel")); Mousetrap.bind("o", () => onIncrementClick()); + Mousetrap.bind("p n", () => onQueueNext()); + Mousetrap.bind("p p", () => onQueuePrevious()); + Mousetrap.bind("p r", () => onQueueRandom()); return () => { Mousetrap.unbind("a"); + Mousetrap.unbind("q"); Mousetrap.unbind("e"); Mousetrap.unbind("k"); Mousetrap.unbind("f"); Mousetrap.unbind("o"); + Mousetrap.unbind("p n"); + Mousetrap.unbind("p p"); + Mousetrap.unbind("p r"); }; }); diff --git a/ui/v2.5/src/docs/en/KeyboardShortcuts.md b/ui/v2.5/src/docs/en/KeyboardShortcuts.md index b1bf8e1ca..c57957120 100644 --- a/ui/v2.5/src/docs/en/KeyboardShortcuts.md +++ b/ui/v2.5/src/docs/en/KeyboardShortcuts.md @@ -54,10 +54,14 @@ | Keyboard sequence | Action | |-------------------|--------| | `a` | Details tab | +| `q` | Queue tab | | `k` | Markers tab | | `f` | File info tab | | `e` | Edit tab | | `o` | Increment O-Counter | +| `p n` | Play next scene in queue | +| `p p` | Play previous scene in queue | +| `p r` | Play random scene in queue | ### Scene Markers tab shortcuts