diff options
author | AUTOMATIC <16777216c@gmail.com> | 2023-06-01 05:42:50 +0000 |
---|---|---|
committer | AUTOMATIC <16777216c@gmail.com> | 2023-06-01 05:42:50 +0000 |
commit | b3390a984081950c626070889580e01727689921 (patch) | |
tree | f1fb3352f91d70034d54a99c220f1ca594d8b3dc /extensions-builtin/extra-options-section/scripts/extra_options_section.py | |
parent | 0cc05fc492a9360d3b2f1b3f64c7d74f9041f74e (diff) | |
parent | 36888092afa82ee248bc947229f813b453629317 (diff) | |
download | stable-diffusion-webui-gfx803-b3390a984081950c626070889580e01727689921.tar.gz stable-diffusion-webui-gfx803-b3390a984081950c626070889580e01727689921.tar.bz2 stable-diffusion-webui-gfx803-b3390a984081950c626070889580e01727689921.zip |
Merge branch 'dev' into startup-profile
Diffstat (limited to 'extensions-builtin/extra-options-section/scripts/extra_options_section.py')
-rw-r--r-- | extensions-builtin/extra-options-section/scripts/extra_options_section.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/extensions-builtin/extra-options-section/scripts/extra_options_section.py b/extensions-builtin/extra-options-section/scripts/extra_options_section.py new file mode 100644 index 00000000..17f84184 --- /dev/null +++ b/extensions-builtin/extra-options-section/scripts/extra_options_section.py @@ -0,0 +1,48 @@ +import gradio as gr
+from modules import scripts, shared, ui_components, ui_settings
+from modules.ui_components import FormColumn
+
+
+class ExtraOptionsSection(scripts.Script):
+ section = "extra_options"
+
+ def __init__(self):
+ self.comps = None
+ self.setting_names = None
+
+ def title(self):
+ return "Extra options"
+
+ def show(self, is_img2img):
+ return scripts.AlwaysVisible
+
+ def ui(self, is_img2img):
+ self.comps = []
+ self.setting_names = []
+
+ with gr.Blocks() as interface:
+ with gr.Accordion("Options", open=False) if shared.opts.extra_options_accordion and len(shared.opts.extra_options) > 0 else gr.Group(), gr.Row():
+ for setting_name in shared.opts.extra_options:
+ with FormColumn():
+ comp = ui_settings.create_setting_component(setting_name)
+
+ self.comps.append(comp)
+ self.setting_names.append(setting_name)
+
+ def get_settings_values():
+ return [ui_settings.get_value_for_setting(key) for key in self.setting_names]
+
+ interface.load(fn=get_settings_values, inputs=[], outputs=self.comps, queue=False, show_progress=False)
+
+ return self.comps
+
+ def before_process(self, p, *args):
+ for name, value in zip(self.setting_names, args):
+ if name not in p.override_settings:
+ p.override_settings[name] = value
+
+
+shared.options_templates.update(shared.options_section(('ui', "User interface"), {
+ "extra_options": shared.OptionInfo([], "Options in main UI", ui_components.DropdownMulti, lambda: {"choices": list(shared.opts.data_labels.keys())}).js("info", "settingsHintsShowQuicksettings").info("setting entries that also appear in txt2img/img2img interfaces").needs_restart(),
+ "extra_options_accordion": shared.OptionInfo(False, "Place options in main UI into an accordion")
+}))
|