diff --git a/modules/config.py b/modules/config.py index 42386f2f..336092fa 100644 --- a/modules/config.py +++ b/modules/config.py @@ -90,6 +90,9 @@ def list_presets(): available_presets = list_presets() +def update_presets(): + global available_presets + available_presets = list_presets() def try_get_preset_content(preset): if isinstance(preset, str): diff --git a/webui.py b/webui.py index f43d39b0..c3c0a187 100644 --- a/webui.py +++ b/webui.py @@ -451,13 +451,16 @@ with shared.gradio_root: def model_refresh_clicked(): modules.config.update_all_model_names() + modules.config.update_presets() results = [] - results += [gr.update(choices=modules.config.model_filenames), gr.update(choices=['None'] + modules.config.model_filenames)] + results += [gr.update(choices=modules.config.model_filenames), + gr.update(choices=['None'] + modules.config.model_filenames), + gr.update(choices=modules.config.available_presets)] for i in range(5): results += [gr.update(choices=['None'] + modules.config.lora_filenames), gr.update()] return results - model_refresh.click(model_refresh_clicked, [], [base_model, refiner_model] + lora_ctrls, + model_refresh.click(model_refresh_clicked, [], [base_model, refiner_model, preset_selection] + lora_ctrls, queue=False, show_progress=False) def preset_selection_change(preset):