diff --git a/web_app/src/components/Editor.tsx b/web_app/src/components/Editor.tsx index 76205c9..2703d38 100644 --- a/web_app/src/components/Editor.tsx +++ b/web_app/src/components/Editor.tsx @@ -501,7 +501,7 @@ export default function Editor(props: EditorProps) { } ) - const download = async () => { + const download = useCallback(async () => { if (file === undefined) { return } @@ -543,7 +543,17 @@ export default function Editor(props: EditorProps) { // Get the code to click the download link aDownloadLink.click() } - } + }, [ + file, + enableAutoSaving, + renders, + settings, + imageHeight, + imageWidth, + lineGroups, + ]) + + useHotKey("meta+s,ctrl+s", download) const toggleShowBrush = (newState: boolean) => { if (newState !== showBrush && !isPanning && !isCropperExtenderResizing) { diff --git a/web_app/src/components/Settings.tsx b/web_app/src/components/Settings.tsx index a450c4f..38843c1 100644 --- a/web_app/src/components/Settings.tsx +++ b/web_app/src/components/Settings.tsx @@ -47,6 +47,7 @@ const formSchema = z.object({ enableDownloadMask: z.boolean(), enableManualInpainting: z.boolean(), enableUploadMask: z.boolean(), + enableAutoExtractPrompt: z.boolean(), }) const TAB_GENERAL = "General" @@ -92,6 +93,7 @@ export function SettingsDialog() { enableDownloadMask: settings.enableDownloadMask, enableManualInpainting: settings.enableManualInpainting, enableUploadMask: settings.enableUploadMask, + enableAutoExtractPrompt: settings.enableAutoExtractPrompt, inputDirectory: fileManagerState.inputDirectory, outputDirectory: fileManagerState.outputDirectory, }, @@ -103,6 +105,7 @@ export function SettingsDialog() { enableDownloadMask: values.enableDownloadMask, enableManualInpainting: values.enableManualInpainting, enableUploadMask: values.enableUploadMask, + enableAutoExtractPrompt: values.enableAutoExtractPrompt, }) // TODO: validate input/output Directory @@ -308,6 +311,28 @@ export function SettingsDialog() { + ( + +
+ Enable auto extract prompt + + Automatically extract prompt/negativate prompt from the image + meta. + +
+ + + +
+ )} + /> + {/*