feat: reload all inpaint modes in enhance tabs when preset is changed and inpaint_mode is set

This commit is contained in:
Manuel Schmid
2024-06-30 20:52:57 +02:00
parent dbbe42ed30
commit 7068250a99
2 changed files with 23 additions and 10 deletions
+4 -1
View File
@@ -166,10 +166,13 @@ def get_inpaint_method(key: str, fallback: str | None, source_dict: dict, result
h = source_dict.get(key, source_dict.get(fallback, default)) h = source_dict.get(key, source_dict.get(fallback, default))
assert isinstance(h, str) and h in modules.flags.inpaint_options assert isinstance(h, str) and h in modules.flags.inpaint_options
results.append(h) results.append(h)
for i in range(modules.config.default_enhance_tabs):
results.append(h)
return h return h
except: except:
results.append(gr.update()) results.append(gr.update())
return None for i in range(modules.config.default_enhance_tabs):
results.append(gr.update())
def get_adm_guidance(key: str, fallback: str | None, source_dict: dict, results: list, default=None): def get_adm_guidance(key: str, fallback: str | None, source_dict: dict, results: list, default=None):
+18 -8
View File
@@ -377,6 +377,8 @@ with shared.gradio_root:
queue=False, show_progress=False) queue=False, show_progress=False)
gr.HTML('<a href="https://github.com/mashb1t/Fooocus/discussions/42" target="_blank">\U0001F4D4 Document</a>') gr.HTML('<a href="https://github.com/mashb1t/Fooocus/discussions/42" target="_blank">\U0001F4D4 Document</a>')
enhance_ctrls = [] enhance_ctrls = []
enhance_inpaint_mode_ctrls = []
enhance_inpaint_update_ctrls = []
for index in range(modules.config.default_enhance_tabs): for index in range(modules.config.default_enhance_tabs):
with gr.TabItem(label=f'#{index + 1}') as enhance_tab_item: with gr.TabItem(label=f'#{index + 1}') as enhance_tab_item:
enhance_enabled = gr.Checkbox(label='Enable', value=False, elem_classes='min_check', enhance_enabled = gr.Checkbox(label='Enable', value=False, elem_classes='min_check',
@@ -435,7 +437,7 @@ with shared.gradio_root:
with gr.Accordion("Inpaint", visible=True, open=False): with gr.Accordion("Inpaint", visible=True, open=False):
enhance_inpaint_mode = gr.Dropdown(choices=modules.flags.inpaint_options, enhance_inpaint_mode = gr.Dropdown(choices=modules.flags.inpaint_options,
value=modules.flags.inpaint_option_default, value=modules.config.default_inpaint_method,
label='Method', interactive=True) label='Method', interactive=True)
enhance_inpaint_disable_initial_latent = gr.Checkbox( enhance_inpaint_disable_initial_latent = gr.Checkbox(
label='Disable initial latent in inpaint', value=False) label='Disable initial latent in inpaint', value=False)
@@ -485,7 +487,14 @@ with shared.gradio_root:
enhance_mask_invert enhance_mask_invert
] ]
enhance_inpaint_mode.input(inpaint_mode_change, inputs=enhance_inpaint_mode, outputs=[ enhance_inpaint_mode_ctrls += [enhance_inpaint_mode]
enhance_inpaint_update_ctrls += [[
enhance_inpaint_mode, enhance_inpaint_disable_initial_latent, enhance_inpaint_engine,
enhance_inpaint_strength, enhance_inpaint_respective_field
]]
enhance_inpaint_mode.change(inpaint_mode_change, inputs=enhance_inpaint_mode, outputs=[
inpaint_additional_prompt, outpaint_selections, example_inpaint_prompts, inpaint_additional_prompt, outpaint_selections, example_inpaint_prompts,
enhance_inpaint_disable_initial_latent, enhance_inpaint_engine, enhance_inpaint_disable_initial_latent, enhance_inpaint_engine,
enhance_inpaint_strength, enhance_inpaint_respective_field enhance_inpaint_strength, enhance_inpaint_respective_field
@@ -874,8 +883,8 @@ with shared.gradio_root:
overwrite_width, overwrite_height, guidance_scale, sharpness, adm_scaler_positive, overwrite_width, overwrite_height, guidance_scale, sharpness, adm_scaler_positive,
adm_scaler_negative, adm_scaler_end, refiner_swap_method, adaptive_cfg, clip_skip, adm_scaler_negative, adm_scaler_end, refiner_swap_method, adaptive_cfg, clip_skip,
base_model, refiner_model, refiner_switch, sampler_name, scheduler_name, vae_name, base_model, refiner_model, refiner_switch, sampler_name, scheduler_name, vae_name,
seed_random, image_seed, inpaint_mode, generate_button, load_parameter_button seed_random, image_seed, inpaint_mode] + enhance_inpaint_mode_ctrls + [generate_button,
] + freeu_ctrls + lora_ctrls load_parameter_button] + freeu_ctrls + lora_ctrls
if not args_manager.args.disable_preset_selection: if not args_manager.args.disable_preset_selection:
def preset_selection_change(preset, is_generating): def preset_selection_change(preset, is_generating):
@@ -925,10 +934,11 @@ with shared.gradio_root:
], show_progress=False, queue=False) ], show_progress=False, queue=False)
# load configured default_inpaint_method # load configured default_inpaint_method
shared.gradio_root.load(inpaint_mode_change, inputs=inpaint_mode, outputs=[ default_inpaint_ctrls = [inpaint_mode, inpaint_disable_initial_latent, inpaint_engine, inpaint_strength, inpaint_respective_field]
inpaint_additional_prompt, outpaint_selections, example_inpaint_prompts, for mode, disable_initial_latent, engine, strength, respective_field in [default_inpaint_ctrls] + enhance_inpaint_update_ctrls:
inpaint_disable_initial_latent, inpaint_engine, shared.gradio_root.load(inpaint_mode_change, inputs=mode, outputs=[
inpaint_strength, inpaint_respective_field inpaint_additional_prompt, outpaint_selections, example_inpaint_prompts, disable_initial_latent,
engine, strength, respective_field
], show_progress=False, queue=False) ], show_progress=False, queue=False)
generate_mask_button.click(fn=generate_mask, generate_mask_button.click(fn=generate_mask,