diff --git a/public/scripts/extensions/stable-diffusion/index.js b/public/scripts/extensions/stable-diffusion/index.js index 86ada0870..de70e3c9c 100644 --- a/public/scripts/extensions/stable-diffusion/index.js +++ b/public/scripts/extensions/stable-diffusion/index.js @@ -711,7 +711,7 @@ function onChatChanged() { adjustElementScrollHeight(); } -function adjustElementScrollHeight(){ +function adjustElementScrollHeight() { if (!$('.sd_settings').is(':visible')) { return; } @@ -911,6 +911,16 @@ function onHeightInput() { saveSettingsDebounced(); } +function onSwapDimensionsClick() { + const w = extension_settings.sd.height; + const h = extension_settings.sd.width; + extension_settings.sd.width = w; + extension_settings.sd.height = h; + $('#sd_width').val(w).trigger('input'); + $('#sd_height').val(h).trigger('input'); + saveSettingsDebounced(); +} + async function onSourceChange() { extension_settings.sd.source = $('#sd_source').find(':selected').val(); extension_settings.sd.model = null; @@ -3439,6 +3449,7 @@ jQuery(async () => { $('#sd_wand_visible').on('input', onWandVisibleInput); $('#sd_command_visible').on('input', onCommandVisibleInput); $('#sd_interactive_visible').on('input', onInteractiveVisibleInput); + $('#sd_swap_dimensions').on('click', onSwapDimensionsClick); $('.sd_settings .inline-drawer-toggle').on('click', function () { initScrollHeight($('#sd_prompt_prefix')); diff --git a/public/scripts/extensions/stable-diffusion/settings.html b/public/scripts/extensions/stable-diffusion/settings.html index 01061fd1c..7546cc030 100644 --- a/public/scripts/extensions/stable-diffusion/settings.html +++ b/public/scripts/extensions/stable-diffusion/settings.html @@ -244,7 +244,7 @@ -
+
Width @@ -260,6 +260,10 @@
+ +
+ +
diff --git a/public/scripts/extensions/stable-diffusion/style.css b/public/scripts/extensions/stable-diffusion/style.css index 90fd0d95f..f3d070c87 100644 --- a/public/scripts/extensions/stable-diffusion/style.css +++ b/public/scripts/extensions/stable-diffusion/style.css @@ -101,3 +101,14 @@ margin-right: 5px; margin-left: 5px; } + +#sd_dimensions_block { + position: relative; +} + +#sd_swap_dimensions { + position: absolute; + left: 50%; + top: 0; + transform: translateX(-50%); +}