', preview_html)
@@ -1018,6 +1020,7 @@ def finish_returns():
gr.Button.update(interactive=True, visible=True),
gr.Button.update(interactive=True, visible=True),
gr.Button.update(interactive=True, visible=True),
+ gr.Button.update(interactive=True, visible=False), # Organize models hidden until implemented
gr.Button.update(interactive=False, visible=False)
)
@@ -1029,33 +1032,49 @@ def start_returns(number):
gr.Button.update(interactive=False, visible=True),
gr.Button.update(interactive=False, visible=True),
gr.Button.update(interactive=False, visible=True),
+ gr.Button.update(interactive=False, visible=False), # Organize models hidden until implemented
gr.HTML.update(value='
')
)
+def set_globals(input_global):
+ global from_tag, from_ver, from_installed, from_preview, from_organize
+ from_tag = from_ver = from_installed = from_preview = from_organize = False
+ if input_global == "from_tag":
+ from_tag = True
+ elif input_global == "from_ver":
+ from_ver = True
+ elif input_global == "from_installed":
+ from_installed = True
+ elif input_global == "from_preview":
+ from_preview = True
+ elif input_global == "from_organize":
+ from_organize = True
+
def save_tag_start(tag_start):
- global from_tag, from_ver, from_installed, from_preview
- from_tag, from_ver, from_installed, from_preview = True, False, False, False
+ set_globals('from_tag')
number = _download.random_number(tag_start)
return start_returns(number)
def save_preview_start(preview_start):
- global from_tag, from_ver, from_installed, from_preview
- from_preview, from_tag, from_ver, from_installed = True, False, False, False
+ set_globals('from_preview')
number = _download.random_number(preview_start)
return start_returns(number)
def installed_models_start(installed_start):
- global from_installed, from_ver, from_tag, from_preview
- from_installed, from_ver, from_tag, from_preview = True, False, False, False
+ set_globals('from_installed')
number = _download.random_number(installed_start)
return start_returns(number)
def ver_search_start(ver_start):
- global from_ver, from_tag, from_installed, from_preview
- from_ver, from_tag, from_installed, from_preview = True, False, False, False
+ set_globals('from_ver')
number = _download.random_number(ver_start)
return start_returns(number)
+def organize_start(organize_start):
+ set_globals('from_organize')
+ number = _download.random_number(organize_start)
+ return start_returns(number)
+
def save_tag_finish():
global from_tag
from_tag = False
@@ -1072,6 +1091,7 @@ def scan_finish():
gr.Button.update(interactive=no_update, visible=no_update),
gr.Button.update(interactive=no_update, visible=no_update),
gr.Button.update(interactive=no_update, visible=no_update),
+ gr.Button.update(interactive=no_update, visible=False),
gr.Button.update(interactive=False, visible=False),
gr.Button.update(interactive=not no_update, visible=not no_update)
)
diff --git a/scripts/civitai_gui.py b/scripts/civitai_gui.py
index 4ac3015..495e1f4 100644
--- a/scripts/civitai_gui.py
+++ b/scripts/civitai_gui.py
@@ -7,7 +7,7 @@ import re
import subprocess
from modules.shared import opts, cmd_opts
from modules.paths import extensions_dir
-from scripts.civitai_global import print
+from scripts.civitai_global import print, debug_print
import scripts.civitai_global as gl
import scripts.civitai_download as _download
import scripts.civitai_file_manage as _file
@@ -36,7 +36,6 @@ if not forge:
from modules import launch_utils
ver = launch_utils.git_tag()
except:
- print("Failed to fetch SD-WebUI version")
ver_bool = False
if ver:
ver = ver.split('-')[0].rsplit('-', 1)[0]
@@ -247,7 +246,7 @@ def on_ui_tabs():
back_to_top = gr.Button(value="↑", elem_id="backToTop")
with gr.Tab("Update Models"):
with gr.Row():
- selected_tags = gr.CheckboxGroup(elem_id="selected_tags", label="Scan for:", choices=scan_choices)
+ selected_tags = gr.CheckboxGroup(elem_id="selected_tags", label="Selected content types:", choices=scan_choices)
with gr.Row(elem_id="civitai_update_toggles"):
overwrite_toggle = gr.Checkbox(elem_id="overwrite_toggle", label="Overwrite any existing previews, tags or descriptions.", value=True, min_width=300)
skip_hash_toggle = gr.Checkbox(elem_id="skip_hash_toggle", label="One-Time Hash Generation for externally downloaded models.", value=True, min_width=300)
@@ -274,6 +273,11 @@ def on_ui_tabs():
load_to_browser_installed = gr.Button(value="Load installed models to browser", interactive=False, visible=False)
with gr.Row():
installed_progress = gr.HTML(value='
')
+ with gr.Row():
+ organize_models = gr.Button(value="Organize model files", interactive=True, visible=False) # Organize models hidden until implemented
+ cancel_organize = gr.Button(value="Cancel loading models", interactive=False, visible=False)
+ with gr.Row():
+ organize_progress = gr.HTML(value='
')
with gr.Tab("Download Queue"):
def get_style(size, left_border):
@@ -322,6 +326,8 @@ def on_ui_tabs():
ver_finish = gr.Textbox(visible=False)
installed_start = gr.Textbox(visible=None)
installed_finish = gr.Textbox(visible=None)
+ organize_start = gr.Textbox(visible=None)
+ organize_finish = gr.Textbox(visible=None)
delete_finish = gr.Textbox(visible=False)
current_model = gr.Textbox(visible=False)
current_sha256 = gr.Textbox(visible=False)
@@ -771,6 +777,7 @@ def on_ui_tabs():
load_installed,
save_all_tags,
update_preview,
+ organize_models,
version_progress
]
)
@@ -791,6 +798,7 @@ def on_ui_tabs():
save_all_tags,
load_installed,
update_preview,
+ organize_models,
cancel_ver_search,
load_to_browser
]
@@ -806,6 +814,7 @@ def on_ui_tabs():
ver_search,
save_all_tags,
update_preview,
+ organize_models,
installed_progress
]
)
@@ -826,6 +835,7 @@ def on_ui_tabs():
save_all_tags,
load_installed,
update_preview,
+ organize_models,
cancel_installed,
load_to_browser_installed
]
@@ -841,6 +851,7 @@ def on_ui_tabs():
load_installed,
ver_search,
update_preview,
+ organize_models,
tag_progress
]
)
@@ -861,6 +872,7 @@ def on_ui_tabs():
save_all_tags,
load_installed,
update_preview,
+ organize_models,
cancel_all_tags
]
)
@@ -875,6 +887,7 @@ def on_ui_tabs():
load_installed,
ver_search,
save_all_tags,
+ organize_models,
preview_progress
]
)
@@ -895,10 +908,48 @@ def on_ui_tabs():
save_all_tags,
load_installed,
update_preview,
+ organize_models,
cancel_update_preview
]
)
+ organize_models.click(
+ fn=_file.organize_start,
+ inputs=[organize_start],
+ outputs=[
+ organize_start,
+ organize_models,
+ cancel_organize,
+ load_installed,
+ ver_search,
+ save_all_tags,
+ update_preview,
+ organize_progress
+ ]
+ )
+
+ organize_start.change(
+ fn=_file.file_scan,
+ inputs=file_scan_inputs,
+ outputs=[
+ organize_progress,
+ organize_finish
+ ]
+ )
+
+ organize_finish.change(
+ fn=_file.save_preview_finish,
+ outputs=[
+ ver_search,
+ save_all_tags,
+ load_installed,
+ update_preview,
+ organize_models,
+ cancel_update_preview
+ ]
+ )
+
+
load_to_browser_installed.click(
fn=_file.load_to_browser,
inputs=load_to_browser_inputs,
@@ -1277,7 +1328,7 @@ def on_ui_settings():
shared.OptionInfo(
False,
f"Insert: [{string}]",
- section=browser,
+ section=download,
**({'category_id': cat_id} if ver_bool else {})
)
)
diff --git a/style.css b/style.css
index 5410267..287ab4d 100644
--- a/style.css
+++ b/style.css
@@ -336,7 +336,7 @@
.civitai-tag,
.civitai-meta,
.civitai-meta-btn {
- background-color: var(--neutral-800);
+ background-image: var(--button-secondary-background-fill);
border-radius: 8px;
padding: 4px 6px;
border: 1px solid var(--input-border-color);
@@ -344,7 +344,7 @@
.civitai-meta-btn:hover {
cursor: pointer;
- background-color: var(--neutral-700);
+ background-image: var(--button-secondary-background-fill-hover);
}
#select_all_models_container {
@@ -530,9 +530,9 @@
}
/* Custom settings Accordion */
-#settings-accordion {
+.settings-accordion {
border: 1px solid var(--block-border-color);
- border-radius: 8px;
+ border-radius: 8px !important;
margin: 15px 0px 2px 0px;
padding: 8px 8px;
}
@@ -551,7 +551,7 @@
}
#civitai_preview_html .model-block {
- box-shadow: 0px 0px 1px 3px #3339ff30;
+ box-shadow: 0px 0px 1px 3px var(--button-secondary-border-color);
border-radius: 10px;
padding: 1px 20px 10px;
margin-bottom: 20px;
@@ -712,10 +712,17 @@
}
#civitai_preview_html dt {
- font-size: medium;
+ font-size: medium;
color: #80a6c8!important;
}
+/*
+#civitai_preview_html dt {
+ font-size: medium;
+ color: #3966bb !important;
+}
+*/
+
#civitai_preview_html dd {
padding: 0px 0px 10px 10px;
}