From 8e7cabdc04f4c15dafca993689d2b8d7e89d7699 Mon Sep 17 00:00:00 2001 From: psychedelicious <4822129+psychedelicious@users.noreply.github.com> Date: Fri, 25 Oct 2024 21:04:01 +1000 Subject: [PATCH] feat(ui): add `Replace Current` open to `Select Object -> Save As` --- invokeai/frontend/web/public/locales/en.json | 1 + .../components/SelectObject/SelectObject.tsx | 15 +++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/invokeai/frontend/web/public/locales/en.json b/invokeai/frontend/web/public/locales/en.json index 1664ff38a4..cf1b9aedef 100644 --- a/invokeai/frontend/web/public/locales/en.json +++ b/invokeai/frontend/web/public/locales/en.json @@ -1757,6 +1757,7 @@ "newGallerySessionDesc": "This will clear the canvas and all settings except for your model selection. Generations will be sent to the gallery.", "newCanvasSession": "New Canvas Session", "newCanvasSessionDesc": "This will clear the canvas and all settings except for your model selection. Generations will be staged on the canvas.", + "replaceCurrent": "Replace Current", "controlMode": { "controlMode": "Control Mode", "balanced": "Balanced", diff --git a/invokeai/frontend/web/src/features/controlLayers/components/SelectObject/SelectObject.tsx b/invokeai/frontend/web/src/features/controlLayers/components/SelectObject/SelectObject.tsx index 28fc806f4a..72be4daccf 100644 --- a/invokeai/frontend/web/src/features/controlLayers/components/SelectObject/SelectObject.tsx +++ b/invokeai/frontend/web/src/features/controlLayers/components/SelectObject/SelectObject.tsx @@ -42,6 +42,10 @@ const SelectObjectContent = memo( const hasImageState = useStore(adapter.segmentAnything.$hasImageState); const autoProcess = useAppSelector(selectAutoProcess); + const replaceCurrent = useCallback(() => { + adapter.segmentAnything.apply(); + }, [adapter.segmentAnything]); + const saveAsInpaintMask = useCallback(() => { adapter.segmentAnything.saveAs('inpaint_mask'); }, [adapter.segmentAnything]); @@ -142,17 +146,20 @@ const SelectObjectContent = memo( {t('controlLayers.selectObject.saveAs')} + + {t('controlLayers.replaceCurrent')} + - {t('controlLayers.inpaintMask')} + {t('controlLayers.newInpaintMask')} - {t('controlLayers.regionalGuidance')} + {t('controlLayers.newRegionalGuidance')} - {t('controlLayers.controlLayer')} + {t('controlLayers.newControlLayer')} - {t('controlLayers.rasterLayer')} + {t('controlLayers.newRasterLayer')}