fix(ui): fix up hotkeys

- Add Shift+X back (this has been missing for a long time)
- Add secondary toggle options hotkey
This commit is contained in:
psychedelicious 2024-01-03 12:58:43 +11:00
parent acbf10f7ba
commit f92a5cbabc
4 changed files with 48 additions and 3 deletions

View File

@ -436,9 +436,13 @@
},
"appHotkeys": "App Hotkeys",
"cancel": {
"desc": "Cancel image generation",
"desc": "Cancel current queue item",
"title": "Cancel"
},
"cancelAndClear": {
"desc": "Cancel current queue item and clear all pending items",
"title": "Cancel and Clear"
},
"changeTabs": {
"desc": "Switch to another workspace",
"title": "Change Tabs"

View File

@ -1,4 +1,6 @@
import { useAppDispatch } from 'app/store/storeHooks';
import { useCancelCurrentQueueItem } from 'features/queue/hooks/useCancelCurrentQueueItem';
import { useClearQueue } from 'features/queue/hooks/useClearQueue';
import { useQueueBack } from 'features/queue/hooks/useQueueBack';
import { useQueueFront } from 'features/queue/hooks/useQueueFront';
import { useFeatureStatus } from 'features/system/hooks/useFeatureStatus';
@ -43,6 +45,40 @@ export const useGlobalHotkeys = () => {
[queueFront, isDisabledQueueFront, isLoadingQueueFront]
);
const {
cancelQueueItem,
isDisabled: isDisabledCancelQueueItem,
isLoading: isLoadingCancelQueueItem,
} = useCancelCurrentQueueItem();
useHotkeys(
['shift+x', 'shift+enter'],
cancelQueueItem,
{
enabled: () => !isDisabledCancelQueueItem && !isLoadingCancelQueueItem,
preventDefault: true,
enableOnFormTags: ['input', 'textarea', 'select'],
},
[cancelQueueItem, isDisabledCancelQueueItem, isLoadingCancelQueueItem]
);
const {
clearQueue,
isDisabled: isDisabledClearQueue,
isLoading: isLoadingClearQueue,
} = useClearQueue();
useHotkeys(
['ctrl+shift+x', 'meta+shift+x'],
clearQueue,
{
enabled: () => !isDisabledClearQueue && !isLoadingClearQueue,
preventDefault: true,
enableOnFormTags: ['input', 'textarea', 'select'],
},
[clearQueue, isDisabledClearQueue, isLoadingClearQueue]
);
useHotkeys(
'1',
() => {

View File

@ -68,6 +68,11 @@ const HotkeysModal = ({ children }: HotkeysModalProps) => {
desc: t('hotkeys.cancel.desc'),
hotkey: 'Shift+X',
},
{
title: t('hotkeys.cancelAndClear.title'),
desc: t('hotkeys.cancelAndClear.desc'),
hotkey: 'Shift+Ctrl+X / Shift+Cmd+X',
},
{
title: t('hotkeys.focusPrompt.title'),
desc: t('hotkeys.focusPrompt.desc'),
@ -76,7 +81,7 @@ const HotkeysModal = ({ children }: HotkeysModalProps) => {
{
title: t('hotkeys.toggleOptions.title'),
desc: t('hotkeys.toggleOptions.desc'),
hotkey: 'O',
hotkey: 'T / O',
},
{
title: t('hotkeys.toggleGallery.title'),

View File

@ -207,7 +207,7 @@ const InvokeTabs = () => {
} = usePanel(galleryPanelUsePanelOptions);
useHotkeys('g', toggleGalleryPanel, []);
useHotkeys('t', toggleOptionsPanel, []);
useHotkeys(['t', 'o'], toggleOptionsPanel, []);
useHotkeys(
'f',
() => {