Skip to content

Commit 8ad4f6e

Browse files
hipsterusernamepsychedelicious
authored andcommitted
updates & fix
1 parent bf48995 commit 8ad4f6e

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

invokeai/frontend/web/public/locales/en.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,10 @@
610610
"title": "Toggle Non-Raster Layers",
611611
"desc": "Show or hide all non-raster layer categories (Control Layers, Inpaint Masks, Regional Guidance)."
612612
},
613+
"fitBboxToLayers": {
614+
"title": "Fit Bbox To Layers",
615+
"desc": "Automatically adjust the generation bounding box to fit visible layers"
616+
},
613617
"fitBboxToMasks": {
614618
"title": "Fit Bbox To Masks",
615619
"desc": "Automatically adjust the generation bounding box to fit visible inpaint masks"

invokeai/frontend/web/src/features/controlLayers/components/Toolbar/CanvasToolbarFitBboxToLayersButton.tsx

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { IconButton } from '@invoke-ai/ui-library';
2+
import { useIsRegionFocused } from 'common/hooks/focus';
23
import { useCanvasManager } from 'features/controlLayers/contexts/CanvasManagerProviderGate';
34
import { useCanvasIsBusy } from 'features/controlLayers/hooks/useCanvasIsBusy';
5+
import { useRegisteredHotkeys } from 'features/system/components/HotkeysModal/useHotkeyData';
46
import { memo, useCallback } from 'react';
57
import { useTranslation } from 'react-i18next';
68
import { PiResizeBold } from 'react-icons/pi';
@@ -9,9 +11,23 @@ export const CanvasToolbarFitBboxToLayersButton = memo(() => {
911
const { t } = useTranslation();
1012
const canvasManager = useCanvasManager();
1113
const isBusy = useCanvasIsBusy();
14+
const isCanvasFocused = useIsRegionFocused('canvas');
15+
1216
const onClick = useCallback(() => {
1317
canvasManager.tool.tools.bbox.fitToLayers();
14-
}, [canvasManager.tool.tools.bbox]);
18+
canvasManager.stage.fitLayersToStage();
19+
}, [canvasManager.tool.tools.bbox, canvasManager.stage]);
20+
21+
useRegisteredHotkeys({
22+
id: 'fitBboxToLayers',
23+
category: 'canvas',
24+
callback: () => {
25+
canvasManager.tool.tools.bbox.fitToLayers();
26+
canvasManager.stage.fitLayersToStage();
27+
},
28+
options: { enabled: isCanvasFocused && !isBusy, preventDefault: true },
29+
dependencies: [isCanvasFocused, isBusy],
30+
});
1531

1632
return (
1733
<IconButton

invokeai/frontend/web/src/features/system/components/HotkeysModal/useHotkeyData.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ export const useHotkeyData = (): HotkeysData => {
102102
addHotkey('canvas', 'selectColorPickerTool', ['i']);
103103
addHotkey('canvas', 'setFillToWhite', ['d']);
104104
addHotkey('canvas', 'fitLayersToCanvas', ['mod+0']);
105-
addHotkey('canvas', 'fitBboxToCanvas', ['mod+shift+0', 'shift+s']);
105+
addHotkey('canvas', 'fitBboxToCanvas', ['mod+shift+0']);
106+
addHotkey('canvas', 'fitBboxToLayers', ['shift+n']);
106107
addHotkey('canvas', 'setZoomTo100Percent', ['mod+1']);
107108
addHotkey('canvas', 'setZoomTo200Percent', ['mod+2']);
108109
addHotkey('canvas', 'setZoomTo400Percent', ['mod+3']);

0 commit comments

Comments
 (0)