aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2022-09-21 09:49:07 +0300
committerAUTOMATIC <16777216c@gmail.com>2022-09-21 09:49:07 +0300
commit4b26b50df0b417216ff4c12ce115394a828cdd05 (patch)
tree88e0fe6a6b987d320c56d6c30fd743d3edd2df83
parent254da5d127d1ac42803fb5db61857bfb5005b655 (diff)
parentb5693699b8460008ca92544b42f6bc394078ee4d (diff)
Merge remote-tracking branch 'origin/master'
-rw-r--r--javascript/dragdrop.js42
-rw-r--r--modules/shared.py6
-rw-r--r--modules/swinir.py4
-rw-r--r--modules/ui.py2
4 files changed, 31 insertions, 23 deletions
diff --git a/javascript/dragdrop.js b/javascript/dragdrop.js
index 29e26766..c01f66e2 100644
--- a/javascript/dragdrop.js
+++ b/javascript/dragdrop.js
@@ -10,22 +10,34 @@ function dropReplaceImage( imgWrap, files ) {
}
imgWrap.querySelector('.modify-upload button + button, .touch-none + div button + button')?.click();
- window.requestAnimationFrame( () => {
+ const callback = () => {
const fileInput = imgWrap.querySelector('input[type="file"]');
if ( fileInput ) {
fileInput.files = files;
fileInput.dispatchEvent(new Event('change'));
}
- });
-}
-
-function pressClearBtn(hoverElems) {
- //Find all buttons hovering over the image box
- let btns = Array.from(hoverElems.querySelectorAll("button"))
-
- //Press the last btn which will be the X button
- if (btns.length)
- btns[btns.length-1].click()
+ };
+
+ if ( imgWrap.closest('#pnginfo_image') ) {
+ // special treatment for PNG Info tab, wait for fetch request to finish
+ const oldFetch = window.fetch;
+ window.fetch = async (input, options) => {
+ const response = await oldFetch(input, options);
+ if ( 'api/predict/' === input ) {
+ const content = await response.text();
+ window.fetch = oldFetch;
+ window.requestAnimationFrame( () => callback() );
+ return new Response(content, {
+ status: response.status,
+ statusText: response.statusText,
+ headers: response.headers
+ })
+ }
+ return response;
+ };
+ } else {
+ window.requestAnimationFrame( () => callback() );
+ }
}
window.document.addEventListener('dragover', e => {
@@ -36,13 +48,7 @@ window.document.addEventListener('dragover', e => {
}
e.stopPropagation();
e.preventDefault();
-
- if (e.dataTransfer)
- e.dataTransfer.dropEffect = 'copy';
-
- //If is gr.Interface clear image on hover
- if (target.previousElementSibling)
- pressClearBtn(target.previousElementSibling)
+ e.dataTransfer.dropEffect = 'copy';
});
window.document.addEventListener('drop', e => {
diff --git a/modules/shared.py b/modules/shared.py
index 9e802c92..6ce831b7 100644
--- a/modules/shared.py
+++ b/modules/shared.py
@@ -140,8 +140,10 @@ class Options:
"enable_emphasis": OptionInfo(True, "Use (text) to make model pay more attention to text and [text] to make it pay less attention"),
"enable_batch_seeds": OptionInfo(True, "Make K-diffusion samplers produce same images in a batch as when making a single image"),
"save_txt": OptionInfo(False, "Create a text file next to every image with generation parameters."),
- "GAN_tile": OptionInfo(192, "Tile size for all upscalers. 0 = no tiling.", gr.Slider, {"minimum": 0, "maximum": 512, "step": 16}),
- "GAN_tile_overlap": OptionInfo(8, "Tile overlap, in pixels for all upscalers. Low values = visible seam.", gr.Slider, {"minimum": 0, "maximum": 48, "step": 1}),
+ "ESRGAN_tile": OptionInfo(192, "Tile size for ESRGAN upscalers. 0 = no tiling.", gr.Slider, {"minimum": 0, "maximum": 512, "step": 16}),
+ "ESRGAN_tile_overlap": OptionInfo(8, "Tile overlap, in pixels for ESRGAN upscalers. Low values = visible seam.", gr.Slider, {"minimum": 0, "maximum": 48, "step": 1}),
+ "SWIN_tile": OptionInfo(192, "Tile size for all SwinIR.", gr.Slider, {"minimum": 16, "maximum": 512, "step": 16}),
+ "SWIN_tile_overlap": OptionInfo(8, "Tile overlap, in pixels for SwinIR. Low values = visible seam.", gr.Slider, {"minimum": 0, "maximum": 48, "step": 1}),
"random_artist_categories": OptionInfo([], "Allowed categories for random artists selection when using the Roll button", gr.CheckboxGroup, {"choices": artist_db.categories()}),
"upscale_at_full_resolution_padding": OptionInfo(16, "Inpainting at full resolution: padding, in pixels, for the masked region.", gr.Slider, {"minimum": 0, "maximum": 128, "step": 4}),
"upscaler_for_hires_fix": OptionInfo(None, "Upscaler for highres. fix", gr.Radio, lambda: {"choices": [x.name for x in sd_upscalers]}),
diff --git a/modules/swinir.py b/modules/swinir.py
index 7e8fd5e3..8c534495 100644
--- a/modules/swinir.py
+++ b/modules/swinir.py
@@ -55,8 +55,8 @@ def load_models(dirname):
def upscale(
img,
model,
- tile=opts.GAN_tile,
- tile_overlap=opts.GAN_tile_overlap,
+ tile=opts.SWIN_tile,
+ tile_overlap=opts.SWIN_tile_overlap,
window_size=8,
scale=4,
):
diff --git a/modules/ui.py b/modules/ui.py
index 0d428b5b..e290b3eb 100644
--- a/modules/ui.py
+++ b/modules/ui.py
@@ -797,7 +797,7 @@ def create_ui(txt2img, img2img, run_extras, run_pnginfo):
pnginfo_interface = gr.Interface(
wrap_gradio_call(run_pnginfo),
inputs=[
- gr.Image(label="Source", source="upload", interactive=True, type="pil"),
+ gr.Image(elem_id="pnginfo_image", label="Source", source="upload", interactive=True, type="pil"),
],
outputs=[
gr.HTML(),