renames from images history to image browser
parent
3390e353fd
commit
a2ee75e2a7
|
|
@ -1,6 +1,6 @@
|
|||
var images_history_click_image = function(){
|
||||
var image_browser_click_image = function(){
|
||||
if (!this.classList?.contains("transform")){
|
||||
var gallery = images_history_get_parent_by_class(this, "images_history_cantainor");
|
||||
var gallery = image_browser_get_parent_by_class(this, "image_browser_container");
|
||||
var buttons = gallery.querySelectorAll(".gallery-item");
|
||||
var i = 0;
|
||||
var hidden_list = [];
|
||||
|
|
@ -11,13 +11,13 @@ var images_history_click_image = function(){
|
|||
i += 1;
|
||||
})
|
||||
if (hidden_list.length > 0){
|
||||
setTimeout(images_history_hide_buttons, 10, hidden_list, gallery);
|
||||
setTimeout(image_browser_hide_buttons, 10, hidden_list, gallery);
|
||||
}
|
||||
}
|
||||
images_history_set_image_info(this);
|
||||
image_browser_set_image_info(this);
|
||||
}
|
||||
|
||||
function images_history_get_parent_by_class(item, class_name){
|
||||
function image_browser_get_parent_by_class(item, class_name){
|
||||
var parent = item.parentElement;
|
||||
while(!parent.classList.contains(class_name)){
|
||||
parent = parent.parentElement;
|
||||
|
|
@ -25,7 +25,7 @@ function images_history_get_parent_by_class(item, class_name){
|
|||
return parent;
|
||||
}
|
||||
|
||||
function images_history_get_parent_by_tagname(item, tagname){
|
||||
function image_browser_get_parent_by_tagname(item, tagname){
|
||||
var parent = item.parentElement;
|
||||
tagname = tagname.toUpperCase()
|
||||
while(parent.tagName != tagname){
|
||||
|
|
@ -34,7 +34,7 @@ function images_history_get_parent_by_tagname(item, tagname){
|
|||
return parent;
|
||||
}
|
||||
|
||||
function images_history_hide_buttons(hidden_list, gallery){
|
||||
function image_browser_hide_buttons(hidden_list, gallery){
|
||||
var buttons = gallery.querySelectorAll(".gallery-item");
|
||||
var num = 0;
|
||||
buttons.forEach(function(e){
|
||||
|
|
@ -43,15 +43,15 @@ function images_history_hide_buttons(hidden_list, gallery){
|
|||
}
|
||||
});
|
||||
if (num == hidden_list.length){
|
||||
setTimeout(images_history_hide_buttons, 10, hidden_list, gallery);
|
||||
setTimeout(image_browser_hide_buttons, 10, hidden_list, gallery);
|
||||
}
|
||||
for( i in hidden_list){
|
||||
buttons[hidden_list[i]].style.display = "none";
|
||||
}
|
||||
}
|
||||
|
||||
function images_history_set_image_info(button){
|
||||
var buttons = images_history_get_parent_by_tagname(button, "DIV").querySelectorAll(".gallery-item");
|
||||
function image_browser_set_image_info(button){
|
||||
var buttons = image_browser_get_parent_by_tagname(button, "DIV").querySelectorAll(".gallery-item");
|
||||
var index = -1;
|
||||
var i = 0;
|
||||
buttons.forEach(function(e){
|
||||
|
|
@ -62,8 +62,8 @@ function images_history_set_image_info(button){
|
|||
i += 1;
|
||||
}
|
||||
});
|
||||
var gallery = images_history_get_parent_by_class(button, "images_history_cantainor");
|
||||
var set_btn = gallery.querySelector(".images_history_set_index");
|
||||
var gallery = image_browser_get_parent_by_class(button, "image_browser_container");
|
||||
var set_btn = gallery.querySelector(".image_browser_set_index");
|
||||
var curr_idx = set_btn.getAttribute("img_index", index);
|
||||
if (curr_idx != index) {
|
||||
set_btn.setAttribute("img_index", index);
|
||||
|
|
@ -72,18 +72,18 @@ function images_history_set_image_info(button){
|
|||
|
||||
}
|
||||
|
||||
function images_history_get_current_img(tabname, img_index, page_index){
|
||||
function image_browser_get_current_img(tabname, img_index, page_index){
|
||||
return [
|
||||
tabname,
|
||||
gradioApp().getElementById(tabname + '_images_history_set_index').getAttribute("img_index"),
|
||||
gradioApp().getElementById(tabname + '_image_browser_set_index').getAttribute("img_index"),
|
||||
page_index
|
||||
];
|
||||
}
|
||||
|
||||
function images_history_delete(del_num, tabname, image_index){
|
||||
function image_browser_delete(del_num, tabname, image_index){
|
||||
image_index = parseInt(image_index);
|
||||
var tab = gradioApp().getElementById(tabname + '_images_history');
|
||||
var set_btn = tab.querySelector(".images_history_set_index");
|
||||
var tab = gradioApp().getElementById(tabname + '_image_browser');
|
||||
var set_btn = tab.querySelector(".image_browser_set_index");
|
||||
var buttons = [];
|
||||
tab.querySelectorAll(".gallery-item").forEach(function(e){
|
||||
if (e.style.display != 'none'){
|
||||
|
|
@ -94,7 +94,7 @@ function images_history_delete(del_num, tabname, image_index){
|
|||
del_num = Math.min(img_num - image_index, del_num)
|
||||
if (img_num <= del_num){
|
||||
setTimeout(function(tabname){
|
||||
gradioApp().getElementById(tabname + '_images_history_renew_page').click();
|
||||
gradioApp().getElementById(tabname + '_image_browser_renew_page').click();
|
||||
}, 30, tabname);
|
||||
} else {
|
||||
var next_img
|
||||
|
|
@ -114,78 +114,78 @@ function images_history_delete(del_num, tabname, image_index){
|
|||
|
||||
}
|
||||
|
||||
function images_history_turnpage(tabname){
|
||||
var buttons = gradioApp().getElementById(tabname + '_images_history').querySelectorAll(".gallery-item");
|
||||
function image_browser_turnpage(tabname){
|
||||
var buttons = gradioApp().getElementById(tabname + '_image_browser').querySelectorAll(".gallery-item");
|
||||
buttons.forEach(function(elem) {
|
||||
elem.style.display = 'block';
|
||||
});
|
||||
}
|
||||
|
||||
function images_history_init(){
|
||||
var tabnames = gradioApp().getElementById("images_history_tabnames_list")
|
||||
function image_browser_init(){
|
||||
var tabnames = gradioApp().getElementById("image_browser_tabnames_list")
|
||||
if (tabnames){
|
||||
images_history_tab_list = tabnames.querySelector("textarea").value.split(",")
|
||||
for (var i in images_history_tab_list ){
|
||||
var tab = images_history_tab_list[i];
|
||||
gradioApp().getElementById(tab + '_images_history').classList.add("images_history_cantainor");
|
||||
gradioApp().getElementById(tab + '_images_history_set_index').classList.add("images_history_set_index");
|
||||
gradioApp().getElementById(tab + '_images_history_del_button').classList.add("images_history_del_button");
|
||||
gradioApp().getElementById(tab + '_images_history_gallery').classList.add("images_history_gallery");
|
||||
image_browser_tab_list = tabnames.querySelector("textarea").value.split(",")
|
||||
for (var i in image_browser_tab_list ){
|
||||
var tab = image_browser_tab_list[i];
|
||||
gradioApp().getElementById(tab + '_image_browser').classList.add("image_browser_container");
|
||||
gradioApp().getElementById(tab + '_image_browser_set_index').classList.add("image_browser_set_index");
|
||||
gradioApp().getElementById(tab + '_image_browser_del_button').classList.add("image_browser_del_button");
|
||||
gradioApp().getElementById(tab + '_image_browser_gallery').classList.add("image_browser_gallery");
|
||||
}
|
||||
|
||||
//preload
|
||||
var tab_btns = gradioApp().getElementById("images_history_tab").querySelector("div").querySelectorAll("button");
|
||||
for (var i in images_history_tab_list){
|
||||
var tabname = images_history_tab_list[i]
|
||||
var tab_btns = gradioApp().getElementById("image_browser_tabs_container").querySelector("div").querySelectorAll("button");
|
||||
for (var i in image_browser_tab_list){
|
||||
var tabname = image_browser_tab_list[i]
|
||||
tab_btns[i].setAttribute("tabname", tabname);
|
||||
tab_btns[i].addEventListener('click', function(){
|
||||
var tabs_box = gradioApp().getElementById("images_history_tab");
|
||||
var tabs_box = gradioApp().getElementById("image_browser_tabs_container");
|
||||
if (!tabs_box.classList.contains(this.getAttribute("tabname"))) {
|
||||
gradioApp().getElementById(this.getAttribute("tabname") + "_images_history_renew_page").click();
|
||||
gradioApp().getElementById(this.getAttribute("tabname") + "_image_browser_renew_page").click();
|
||||
tabs_box.classList.add(this.getAttribute("tabname"))
|
||||
}
|
||||
});
|
||||
}
|
||||
if (gradioApp().getElementById("images_history_preload").querySelector("input").checked ){
|
||||
if (gradioApp().getElementById("image_browser_preload").querySelector("input").checked ){
|
||||
setTimeout(function(){tab_btns[0].click()}, 100);
|
||||
}
|
||||
|
||||
} else {
|
||||
setTimeout(images_history_init, 500);
|
||||
setTimeout(image_browser_init, 500);
|
||||
}
|
||||
}
|
||||
|
||||
let timer
|
||||
var images_history_tab_list = "";
|
||||
setTimeout(images_history_init, 500);
|
||||
var image_browser_tab_list = "";
|
||||
setTimeout(image_browser_init, 500);
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
var mutationObserver = new MutationObserver(function(m){
|
||||
if (images_history_tab_list != ""){
|
||||
if (image_browser_tab_list != ""){
|
||||
|
||||
for (var i in images_history_tab_list ){
|
||||
let tabname = images_history_tab_list[i]
|
||||
var buttons = gradioApp().querySelectorAll('#' + tabname + '_images_history .gallery-item');
|
||||
for (var i in image_browser_tab_list ){
|
||||
let tabname = image_browser_tab_list[i]
|
||||
var buttons = gradioApp().querySelectorAll('#' + tabname + '_image_browser .gallery-item');
|
||||
buttons.forEach(function(button){
|
||||
button.addEventListener('click', images_history_click_image, true);
|
||||
button.addEventListener('click', image_browser_click_image, true);
|
||||
document.onkeyup = function(e) {
|
||||
if (!checkImageBrowserActive()) {
|
||||
if (!image_browser_active()) {
|
||||
return;
|
||||
}
|
||||
clearTimeout(timer)
|
||||
timer = setTimeout(() => {
|
||||
var gallery_btn = gradioApp().getElementById(getCurrentTabName() +"_images_history_gallery").getElementsByClassName('gallery-item !flex-none !h-9 !w-9 transition-all duration-75 !ring-2 !ring-orange-500 hover:!ring-orange-500 svelte-1g9btlg');
|
||||
var gallery_btn = gradioApp().getElementById(image_browser_current_tab() + "_image_browser_gallery").getElementsByClassName('gallery-item !flex-none !h-9 !w-9 transition-all duration-75 !ring-2 !ring-orange-500 hover:!ring-orange-500 svelte-1g9btlg');
|
||||
gallery_btn = gallery_btn && gallery_btn.length > 0 ? gallery_btn[0] : null;
|
||||
if (gallery_btn) {
|
||||
images_history_click_image.call(gallery_btn)
|
||||
image_browser_click_image.call(gallery_btn)
|
||||
}
|
||||
}, 500);
|
||||
}
|
||||
});
|
||||
|
||||
var cls_btn = gradioApp().getElementById(tabname + '_images_history_gallery').querySelector("svg");
|
||||
var cls_btn = gradioApp().getElementById(tabname + '_image_browser_gallery').querySelector("svg");
|
||||
if (cls_btn){
|
||||
cls_btn.addEventListener('click', function(){
|
||||
gradioApp().getElementById(tabname + '_images_history_renew_page').click();
|
||||
gradioApp().getElementById(tabname + '_image_browser_renew_page').click();
|
||||
}, false);
|
||||
}
|
||||
|
||||
|
|
@ -195,34 +195,34 @@ document.addEventListener("DOMContentLoaded", function() {
|
|||
mutationObserver.observe(gradioApp(), { childList:true, subtree:true });
|
||||
});
|
||||
|
||||
function getCurrentTabName() {
|
||||
var tabs = gradioApp().getElementById("images_history_tab").querySelectorAll('[id$="_images_history_container"]');
|
||||
function image_browser_current_tab() {
|
||||
var tabs = gradioApp().getElementById("image_browser_tabs_container").querySelectorAll('[id$="_image_browser_container"]');
|
||||
|
||||
for (const element of tabs) {
|
||||
if (element.style.display === "block") {
|
||||
const id = element.id;
|
||||
const index = id.indexOf("_images_history_container");
|
||||
const index = id.indexOf("_image_browser_container");
|
||||
const tabname = id.substring(0, index);
|
||||
return tabname;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function checkImageBrowserActive() {
|
||||
var ext_active = gradioApp().getElementById("tab_images_history");
|
||||
function image_browser_active() {
|
||||
var ext_active = gradioApp().getElementById("tab_image_browser");
|
||||
return ext_active && ext_active.style.display !== "none";
|
||||
}
|
||||
|
||||
gradioApp().addEventListener("keydown", function(event) {
|
||||
// If we are not on the Image Browser Extension, dont listen for keypresses
|
||||
if (!checkImageBrowserActive()) {
|
||||
if (!image_browser_active()) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Listens for keypresses 0-5 and updates the corresponding ranking (0 is the last option, None)
|
||||
if (event.code >= "Digit0" && event.code <= "Digit5") {
|
||||
var selectedValue = event.code.charAt(event.code.length - 1);
|
||||
var radioInputs = gradioApp().getElementById( getCurrentTabName() + "_images_ranking").getElementsByTagName("input");
|
||||
var radioInputs = gradioApp().getElementById( image_browser_current_tab() + "_images_ranking").getElementsByTagName("input");
|
||||
for (const input of radioInputs) {
|
||||
if (input.value === selectedValue || (selectedValue === '0' && input === radioInputs[radioInputs.length - 1])) {
|
||||
input.checked = true;
|
||||
|
|
@ -43,11 +43,11 @@ init = True
|
|||
|
||||
logger = logging.getLogger(__name__)
|
||||
logger_mode = logging.ERROR
|
||||
if hasattr(opts, "images_logger_warning"):
|
||||
if opts.images_logger_warning:
|
||||
if hasattr(opts, "image_browser_logger_warning"):
|
||||
if opts.image_browser_logger_warning:
|
||||
logger_mode = logging.WARNING
|
||||
if hasattr(opts, "images_logger_debug"):
|
||||
if opts.images_logger_debug:
|
||||
if hasattr(opts, "image_browser_logger_debug"):
|
||||
if opts.image_browser_logger_debug:
|
||||
logger_mode = logging.DEBUG
|
||||
logger.setLevel(logger_mode)
|
||||
console_handler = logging.StreamHandler()
|
||||
|
|
@ -55,7 +55,7 @@ console_handler.setLevel(logger_mode)
|
|||
logger.addHandler(console_handler)
|
||||
|
||||
def delete_recycle(filename):
|
||||
if opts.images_delete_recycle:
|
||||
if opts.image_browser_delete_recycle:
|
||||
send2trash(filename)
|
||||
else:
|
||||
os.remove(filename)
|
||||
|
|
@ -144,34 +144,34 @@ def reduplicative_file_move(src, dst):
|
|||
name = os.path.basename(src)
|
||||
save_name = os.path.join(dst, name)
|
||||
src_txt_exists = False
|
||||
if opts.images_txt_files:
|
||||
if opts.image_browser_txt_files:
|
||||
src_txt = totxt(src)
|
||||
if os.path.exists(src_txt):
|
||||
src_txt_exists = True
|
||||
if not os.path.exists(save_name):
|
||||
if opts.images_copy_image:
|
||||
if opts.image_browser_copy_image:
|
||||
shutil.copy2(src, dst)
|
||||
if opts.images_txt_files and src_txt_exists:
|
||||
if opts.image_browser_txt_files and src_txt_exists:
|
||||
shutil.copy2(src_txt, dst)
|
||||
else:
|
||||
shutil.move(src, dst)
|
||||
if opts.images_txt_files and src_txt_exists:
|
||||
if opts.image_browser_txt_files and src_txt_exists:
|
||||
shutil.move(src_txt, dst)
|
||||
else:
|
||||
name = same_name_file(name, dst)
|
||||
if opts.images_copy_image:
|
||||
if opts.image_browser_copy_image:
|
||||
shutil.copy2(src, os.path.join(dst, name))
|
||||
if opts.images_txt_files and src_txt_exists:
|
||||
if opts.image_browser_txt_files and src_txt_exists:
|
||||
shutil.copy2(src_txt, totxt(os.path.join(dst, name)))
|
||||
else:
|
||||
shutil.move(src, os.path.join(dst, name))
|
||||
if opts.images_txt_files and src_txt_exists:
|
||||
if opts.image_browser_txt_files and src_txt_exists:
|
||||
shutil.move(src_txt, totxt(os.path.join(dst, name)))
|
||||
|
||||
def save_image(file_name, filenames, page_index, turn_page_switch):
|
||||
if file_name is not None and os.path.exists(file_name):
|
||||
reduplicative_file_move(file_name, opts.outdir_save)
|
||||
if opts.images_copy_image:
|
||||
if opts.image_browser_copy_image:
|
||||
message = "<div style='color:#999'>Copied to favorites</div>"
|
||||
else:
|
||||
message = "<div style='color:#999'>Moved to favorites</div>"
|
||||
|
|
@ -200,11 +200,11 @@ def delete_image(delete_num, name, filenames, image_index, visible_num):
|
|||
new_file_list.append(name)
|
||||
i += 1
|
||||
continue
|
||||
if opts.images_delete_message:
|
||||
if opts.image_browser_delete_message:
|
||||
print(f"Deleting file {name}")
|
||||
delete_recycle(name)
|
||||
visible_num -= 1
|
||||
if opts.images_txt_files:
|
||||
if opts.image_browser_txt_files:
|
||||
txt_file = totxt(name)
|
||||
if os.path.exists(txt_file):
|
||||
delete_recycle(txt_file)
|
||||
|
|
@ -225,7 +225,7 @@ def traverse_all_files(curr_path, image_list, tabname_box, img_path_depth) -> Li
|
|||
if os.path.splitext(fname)[1] in image_ext_list:
|
||||
image_list.append(f_info)
|
||||
elif stat.S_ISDIR(fstat.st_mode):
|
||||
if opts.images_history_with_subdirs or (tabname_box == "Others" and img_path_depth != 0 and (current_depth < img_path_depth or img_path_depth < 0)):
|
||||
if opts.image_browser_with_subdirs or (tabname_box == "Others" and img_path_depth != 0 and (current_depth < img_path_depth or img_path_depth < 0)):
|
||||
current_depth = current_depth + 1
|
||||
image_list = traverse_all_files(fname, image_list, tabname_box, img_path_depth)
|
||||
current_depth = current_depth - 1
|
||||
|
|
@ -349,7 +349,7 @@ def get_all_images(dir_name, sort_by, sort_order, keyword, tabname_box, img_path
|
|||
fileinfos = traverse_all_files(dir_name, [], tabname_box, img_path_depth)
|
||||
keyword = keyword.strip(" ")
|
||||
|
||||
if opts.images_scan_exif:
|
||||
if opts.image_browser_scan_exif:
|
||||
cache_exif(fileinfos)
|
||||
|
||||
if len(keyword) != 0:
|
||||
|
|
@ -500,7 +500,7 @@ def change_dir(img_dir, path_recorder, load_switch, img_path_history, img_path_d
|
|||
return warning, gr.update(visible=False), img_path_history, path_recorder, load_switch, img_path, img_path_depth_org
|
||||
|
||||
def update_move_text(unused):
|
||||
return f'{"Move" if not opts.images_copy_image else "Copy"} to favorites'
|
||||
return f'{"Move" if not opts.image_browser_copy_image else "Copy"} to favorites'
|
||||
|
||||
def get_ranking(filename):
|
||||
ranking_value = wib_db.select_ranking(filename)
|
||||
|
|
@ -560,11 +560,11 @@ def create_tab(tabname):
|
|||
|
||||
with gr.Row(visible= custom_dir):
|
||||
with gr.Column(scale=10):
|
||||
img_path_subdirs = gr.Dropdown(choices=[none_select], value=none_select, label="Sub directories", interactive=True, elem_id="img_path_subdirs")
|
||||
img_path_subdirs = gr.Dropdown(choices=[none_select], value=none_select, label="Sub directories", interactive=True, elem_id=f"{tabname}_img_path_subdirs")
|
||||
with gr.Column(scale=1):
|
||||
img_path_subdirs_button = gr.Button(value="Get sub directories")
|
||||
|
||||
with gr.Row(visible= not custom_dir, elem_id=tabname + "_images_history") as main_panel:
|
||||
with gr.Row(visible= not custom_dir, elem_id=f"{tabname}_image_browser") as main_panel:
|
||||
with gr.Column():
|
||||
with gr.Row():
|
||||
with gr.Column(scale=2):
|
||||
|
|
@ -578,13 +578,13 @@ def create_tab(tabname):
|
|||
with gr.Column(scale=10):
|
||||
ranking = gr.Radio(value="None", choices=["1", "2", "3", "4", "5", "None"], label="ranking", elem_id=f"{tabname}_images_ranking", interactive=True, visible=False)
|
||||
auto_next = gr.Checkbox(label="Next Image After Ranking (To be implemented)", interactive=False, visible=False)
|
||||
history_gallery = gr.Gallery(show_label=False, elem_id=tabname + "_images_history_gallery").style(grid=opts.images_history_page_columns)
|
||||
image_gallery = gr.Gallery(show_label=False, elem_id=f"{tabname}_image_browser_gallery").style(grid=opts.image_browser_page_columns)
|
||||
with gr.Row() as delete_panel:
|
||||
with gr.Column(scale=1):
|
||||
delete_num = gr.Number(value=1, interactive=True, label="delete next")
|
||||
with gr.Column(scale=3):
|
||||
delete = gr.Button('Delete', elem_id=tabname + "_images_history_del_button")
|
||||
|
||||
delete = gr.Button('Delete', elem_id=f"{tabname}_image_browser_del_img_btn")
|
||||
|
||||
with gr.Column(scale=1):
|
||||
with gr.Row(scale=0.5):
|
||||
sort_by = gr.Dropdown(value="date", choices=["path name", "date", "aesthetic_score", "random", "cfg scale", "steps", "seed", "sampler", "size", "model", "model hash", "ranking"], label="sort by")
|
||||
|
|
@ -603,24 +603,24 @@ def create_tab(tabname):
|
|||
img_file_info = gr.Textbox(label="Generate Info", interactive=False, lines=6)
|
||||
img_file_name = gr.Textbox(value="", label="File Name", interactive=False)
|
||||
img_file_time= gr.HTML()
|
||||
with gr.Row(elem_id=tabname + "_images_history_button_panel") as button_panel:
|
||||
with gr.Row(elem_id=f"{tabname}_image_browser_button_panel") as button_panel:
|
||||
if tabname != favorite_tab_name:
|
||||
save_btn = gr.Button(f'{"Move" if not opts.images_copy_image else "Copy"} to favorites')
|
||||
save_btn = gr.Button(f'{"Move" if not opts.image_browser_copy_image else "Copy"} to favorites')
|
||||
try:
|
||||
send_to_buttons = modules.generation_parameters_copypaste.create_buttons(["txt2img", "img2img", "inpaint", "extras"])
|
||||
except:
|
||||
pass
|
||||
with gr.Row():
|
||||
collected_warning = gr.HTML()
|
||||
|
||||
|
||||
|
||||
|
||||
# hidden items
|
||||
with gr.Row(visible=False):
|
||||
renew_page = gr.Button("Renew Page", elem_id=tabname + "_images_history_renew_page")
|
||||
renew_page = gr.Button("Renew Page", elem_id=f"{tabname}_image_browser_renew_page")
|
||||
visible_img_num = gr.Number()
|
||||
tabname_box = gr.Textbox(tabname)
|
||||
image_index = gr.Textbox(value=-1)
|
||||
set_index = gr.Button('set_index', elem_id=tabname + "_images_history_set_index")
|
||||
set_index = gr.Button('set_index', elem_id=f"{tabname}_image_browser_set_index")
|
||||
filenames = gr.State([])
|
||||
all_images_list = gr.State()
|
||||
hidden = gr.Image(type="pil")
|
||||
|
|
@ -638,7 +638,7 @@ def create_tab(tabname):
|
|||
|
||||
#delete
|
||||
delete.click(delete_image, inputs=[delete_num, img_file_name, filenames, image_index, visible_img_num], outputs=[filenames, delete_num, visible_img_num])
|
||||
delete.click(fn=None, _js="images_history_delete", inputs=[delete_num, tabname_box, image_index], outputs=None)
|
||||
delete.click(fn=None, _js="image_browser_delete", inputs=[delete_num, tabname_box, image_index], outputs=None)
|
||||
if tabname != favorite_tab_name:
|
||||
save_btn.click(save_image, inputs=[img_file_name, filenames, page_index, turn_page_switch], outputs=[collected_warning, filenames, page_index, turn_page_switch])
|
||||
img_file_name.change(fn=update_move_text, inputs=[img_file_name], outputs=[save_btn])
|
||||
|
|
@ -662,9 +662,9 @@ def create_tab(tabname):
|
|||
turn_page_switch.change(
|
||||
fn=get_image_page,
|
||||
inputs=[img_path, page_index, filenames, keyword, sort_by, sort_order, tabname_box, img_path_depth, ranking_filter, aes_filter, exif_keyword, negative_prompt_search],
|
||||
outputs=[filenames, page_index, history_gallery, img_file_name, img_file_time, img_file_info, visible_img_num, warning_box]
|
||||
outputs=[filenames, page_index, image_gallery, img_file_name, img_file_time, img_file_info, visible_img_num, warning_box]
|
||||
)
|
||||
turn_page_switch.change(fn=None, inputs=[tabname_box], outputs=None, _js="images_history_turnpage")
|
||||
turn_page_switch.change(fn=None, inputs=[tabname_box], outputs=None, _js="image_browser_turnpage")
|
||||
turn_page_switch.change(fn=lambda:(gr.update(visible=False), gr.update(visible=False), gr.update(visible=False)), inputs=None, outputs=[delete_panel, button_panel, ranking])
|
||||
|
||||
sort_order.click(
|
||||
|
|
@ -696,7 +696,7 @@ def create_tab(tabname):
|
|||
)
|
||||
|
||||
# other functions
|
||||
set_index.click(show_image_info, _js="images_history_get_current_img", inputs=[tabname_box, image_index, page_index, filenames], outputs=[img_file_name, img_file_time, image_index, hidden])
|
||||
set_index.click(show_image_info, _js="image_browser_get_current_img", inputs=[tabname_box, image_index, page_index, filenames], outputs=[img_file_name, img_file_time, image_index, hidden])
|
||||
set_index.click(fn=lambda:(gr.update(visible=True), gr.update(visible=True), gr.update(visible=True)), inputs=None, outputs=[delete_panel, button_panel, ranking])
|
||||
img_file_name.change(fn=lambda : "", inputs=None, outputs=[collected_warning])
|
||||
img_file_name.change(get_ranking, inputs=img_file_name, outputs=ranking)
|
||||
|
|
@ -706,7 +706,7 @@ def create_tab(tabname):
|
|||
|
||||
#ranking
|
||||
ranking.change(wib_db.update_ranking, inputs=[img_file_name, ranking])
|
||||
#ranking.change(show_next_image_info, _js="images_history_get_current_img", inputs=[tabname_box, image_index, page_index, auto_next], outputs=[img_file_name, img_file_time, image_index, hidden])
|
||||
#ranking.change(show_next_image_info, _js="image_browser_get_current_img", inputs=[tabname_box, image_index, page_index, auto_next], outputs=[img_file_name, img_file_time, image_index, hidden])
|
||||
|
||||
try:
|
||||
modules.generation_parameters_copypaste.bind_buttons(send_to_buttons, hidden, img_file_info)
|
||||
|
|
@ -743,33 +743,33 @@ def run_pnginfo(image, image_path, image_file_name):
|
|||
def on_ui_tabs():
|
||||
global num_of_imgs_per_page
|
||||
global loads_files_num
|
||||
num_of_imgs_per_page = int(opts.images_history_page_columns * opts.images_history_page_rows)
|
||||
loads_files_num = int(opts.images_history_pages_perload * num_of_imgs_per_page)
|
||||
with gr.Blocks(analytics_enabled=False) as images_history:
|
||||
with gr.Tabs(elem_id="images_history_tab") as tabs:
|
||||
num_of_imgs_per_page = int(opts.image_browser_page_columns * opts.image_browser_page_rows)
|
||||
loads_files_num = int(opts.image_browser_pages_perload * num_of_imgs_per_page)
|
||||
with gr.Blocks(analytics_enabled=False) as image_browser:
|
||||
with gr.Tabs(elem_id="image_browser_tabs_container") as tabs:
|
||||
for tab in tabs_list:
|
||||
with gr.Tab(tab, elem_id=f"{tab}_images_history_container"):
|
||||
with gr.Tab(tab, elem_id=f"{tab}_image_browser_container"):
|
||||
with gr.Blocks(analytics_enabled=False) :
|
||||
create_tab(tab)
|
||||
gr.Checkbox(opts.images_history_preload, elem_id="images_history_preload", visible=False)
|
||||
gr.Textbox(",".join(tabs_list), elem_id="images_history_tabnames_list", visible=False)
|
||||
return (images_history , "Image Browser", "images_history"),
|
||||
gr.Checkbox(opts.image_browser_preload, elem_id="image_browser_preload", visible=False)
|
||||
gr.Textbox(",".join(tabs_list), elem_id="image_browser_tabnames_list", visible=False)
|
||||
return (image_browser , "Image Browser", "image_browser"),
|
||||
|
||||
def on_ui_settings():
|
||||
section = ('images-history', "Images Browser")
|
||||
shared.opts.add_option("images_history_with_subdirs", shared.OptionInfo(True, "Include images in sub directories", section=section))
|
||||
shared.opts.add_option("images_history_preload", shared.OptionInfo(False, "Preload images at startup", section=section))
|
||||
shared.opts.add_option("images_copy_image", shared.OptionInfo(False, "Move to favorites button copies instead of moving", section=section))
|
||||
shared.opts.add_option("images_delete_message", shared.OptionInfo(True, "Print image deletion messages to the console", section=section))
|
||||
shared.opts.add_option("images_txt_files", shared.OptionInfo(True, "Move/Copy/Delete matching .txt files", section=section))
|
||||
shared.opts.add_option("images_logger_warning", shared.OptionInfo(False, "Print warning logs to the console", section=section))
|
||||
shared.opts.add_option("images_logger_debug", shared.OptionInfo(False, "Print debug logs to the console", section=section))
|
||||
shared.opts.add_option("images_delete_recycle", shared.OptionInfo(False, "Use recycle bin when deleting images", section=section))
|
||||
shared.opts.add_option("images_scan_exif", shared.OptionInfo(True, "Scan Exif-/.txt-data (slower, but required for exif-keyword-search)", section=section))
|
||||
section = ('images-browser', "Image Browser")
|
||||
shared.opts.add_option("image_browser_with_subdirs", shared.OptionInfo(True, "Include images in sub directories", section=section))
|
||||
shared.opts.add_option("image_browser_preload", shared.OptionInfo(False, "Preload images at startup", section=section))
|
||||
shared.opts.add_option("image_browser_copy_image", shared.OptionInfo(False, "Move to favorites button copies instead of moving", section=section))
|
||||
shared.opts.add_option("image_browser_delete_message", shared.OptionInfo(True, "Print image deletion messages to the console", section=section))
|
||||
shared.opts.add_option("image_browser_txt_files", shared.OptionInfo(True, "Move/Copy/Delete matching .txt files", section=section))
|
||||
shared.opts.add_option("image_browser_logger_warning", shared.OptionInfo(False, "Print warning logs to the console", section=section))
|
||||
shared.opts.add_option("image_browser_logger_debug", shared.OptionInfo(False, "Print debug logs to the console", section=section))
|
||||
shared.opts.add_option("image_browser_delete_recycle", shared.OptionInfo(False, "Use recycle bin when deleting images", section=section))
|
||||
shared.opts.add_option("image_browser_scan_exif", shared.OptionInfo(True, "Scan Exif-/.txt-data (slower, but required for exif-keyword-search)", section=section))
|
||||
|
||||
shared.opts.add_option("images_history_page_columns", shared.OptionInfo(6, "Number of columns on the page", section=section))
|
||||
shared.opts.add_option("images_history_page_rows", shared.OptionInfo(6, "Number of rows on the page", section=section))
|
||||
shared.opts.add_option("images_history_pages_perload", shared.OptionInfo(20, "Minimum number of pages per load", section=section))
|
||||
shared.opts.add_option("image_browser_page_columns", shared.OptionInfo(6, "Number of columns on the page", section=section))
|
||||
shared.opts.add_option("image_browser_page_rows", shared.OptionInfo(6, "Number of rows on the page", section=section))
|
||||
shared.opts.add_option("image_browser_pages_perload", shared.OptionInfo(20, "Minimum number of pages per load", section=section))
|
||||
|
||||
|
||||
script_callbacks.on_ui_settings(on_ui_settings)
|
||||
Loading…
Reference in New Issue