aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2022-09-18 22:25:18 +0300
committerAUTOMATIC <16777216c@gmail.com>2022-09-18 22:25:18 +0300
commitf3d83fd68ab2458f0a24fb242e557b95c1294bb1 (patch)
treeebc699c6c11aea4a9e66f6b2d0593ea1988f4289 /modules
parent21086e60a9e4ad6f677ccc7719be651356c18a2e (diff)
add read access to settings for jsavascript
add an option to disable lightbox modal
Diffstat (limited to 'modules')
-rw-r--r--modules/shared.py5
-rw-r--r--modules/ui.py13
2 files changed, 16 insertions, 2 deletions
diff --git a/modules/shared.py b/modules/shared.py
index eb4db55a..78de9f9e 100644
--- a/modules/shared.py
+++ b/modules/shared.py
@@ -159,6 +159,7 @@ class Options:
"interrogate_clip_max_length": OptionInfo(48, "Interrogate: maximum description length", gr.Slider, {"minimum": 1, "maximum": 256, "step": 1}),
"interrogate_clip_dict_limit": OptionInfo(1500, "Interrogate: maximum number of lines in text file (0 = No limit)"),
"sd_model_checkpoint": OptionInfo(None, "Stable Diffusion checkpoint", gr.Radio, lambda: {"choices": [x.title for x in modules.sd_models.checkpoints_list.values()]}),
+ "js_modal_lightbox": OptionInfo(True, "Enable full page image viewer"),
}
def __init__(self):
@@ -193,6 +194,10 @@ class Options:
item = self.data_labels.get(key)
item.onchange = func
+ def dumpjson(self):
+ d = {k: self.data.get(k, self.data_labels.get(k).default) for k in self.data_labels.keys()}
+ return json.dumps(d)
+
opts = Options()
if os.path.exists(config_filename):
diff --git a/modules/ui.py b/modules/ui.py
index 7500aae7..0303e057 100644
--- a/modules/ui.py
+++ b/modules/ui.py
@@ -858,7 +858,7 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
return 'Settings applied.'
with gr.Blocks(analytics_enabled=False) as settings_interface:
- submit = gr.Button(value="Apply settings", variant='primary')
+ settings_submit = gr.Button(value="Apply settings", variant='primary')
result = gr.HTML()
with gr.Row(elem_id="settings").style(equal_height=False):
@@ -870,7 +870,7 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
if index < len(keys):
components.append(create_setting_component(keys[index]))
- submit.click(
+ settings_submit.click(
fn=run_settings,
inputs=components,
outputs=[result]
@@ -896,11 +896,20 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
css += css_hide_progressbar
with gr.Blocks(css=css, analytics_enabled=False, title="Stable Diffusion") as demo:
+
with gr.Tabs() as tabs:
for interface, label, ifid in interfaces:
with gr.TabItem(label, id=ifid):
interface.render()
+ text_settings = gr.Textbox(elem_id="settings_json", value=opts.dumpjson(), visible=False)
+
+ settings_submit.click(
+ fn=lambda: opts.dumpjson(),
+ inputs=[],
+ outputs=[text_settings],
+ )
+
tabs.change(
fn=lambda x: x,
inputs=[init_img_with_mask],