Reselect the last active layer on Interrupt

pull/378/head
Abdullah Alfaraj 2023-09-25 09:40:51 +03:00
parent 44b96b7df4
commit 9d0d5142d7
1 changed files with 12 additions and 0 deletions

View File

@ -1,3 +1,4 @@
import { app } from 'photoshop'
import React from 'react' import React from 'react'
import ReactDOM from 'react-dom/client' import ReactDOM from 'react-dom/client'
@ -21,6 +22,7 @@ import {
mask_store as viewer_mask_store, mask_store as viewer_mask_store,
// init_store as viewer_init_store, // init_store as viewer_init_store,
} from '../viewer/viewer_util' } from '../viewer/viewer_util'
declare let g_automatic_status: any declare let g_automatic_status: any
declare let g_current_batch_index: number declare let g_current_batch_index: number
//example: take 'oI' in 'LassoInpaint' and replace it with 'o I' thus creating 'Lasso Inpaint' //example: take 'oI' in 'LassoInpaint' and replace it with 'o I' thus creating 'Lasso Inpaint'
@ -176,8 +178,12 @@ const resetBatch = () => {
} }
const handleGenerate = async () => { const handleGenerate = async () => {
//save the active layer:
const active_layer = app.activeDocument.activeLayers[0]
//save user input for later //save user input for later
//1) save selection as channel //1) save selection as channel
await selection.selectionToChannel('mask') await selection.selectionToChannel('mask')
await initializeBackground() //fix background if there is a need await initializeBackground() //fix background if there is a need
@ -190,6 +196,8 @@ const handleGenerate = async () => {
await Session.generate(sd_tab_store.data.mode) await Session.generate(sd_tab_store.data.mode)
if (session_store.data.is_interrupted) { if (session_store.data.is_interrupted) {
//reselect the layer that was selected before the generation start
await psapi.selectLayersExe([active_layer])
return void 0 return void 0
} }
@ -223,10 +231,14 @@ const handleGenerate = async () => {
const handleGenerateMore = async () => { const handleGenerateMore = async () => {
try { try {
//save the active layer:
const active_layer = app.activeDocument.activeLayers[0]
var { output_images, response_json, ui_settings } = var { output_images, response_json, ui_settings } =
await Session.generateMore() await Session.generateMore()
if (session_store.data.is_interrupted) { if (session_store.data.is_interrupted) {
await psapi.selectLayersExe([active_layer]) // reselect the layer that was active layer before the generation start
return void 0 return void 0
} }