Commit 29a3a7eb authored by AUTOMATIC's avatar AUTOMATIC
Browse files

show sampler selection in dropdown, add option selection to revert to old radio group

parent 360feed9
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -406,6 +406,7 @@ options_templates.update(options_section(('ui', "User interface"), {
    "js_modal_lightbox": OptionInfo(True, "Enable full page image viewer"),
    "js_modal_lightbox_initially_zoomed": OptionInfo(True, "Show images zoomed in by default in full page image viewer"),
    "show_progress_in_title": OptionInfo(True, "Show generation progress in window title."),
    "samplers_in_dropdown": OptionInfo(True, "Use dropdown for sampler selection instead of radio group"),
    'quicksettings': OptionInfo("sd_model_checkpoint", "Quicksettings list"),
    'localization': OptionInfo("None", "Localization (requires restart)", gr.Dropdown, lambda: {"choices": ["None"] + list(localization.localizations.keys())}, refresh=lambda: localization.list_localizations(cmd_opts.localizations_dir)),
}))
+15 −7
Original line number Diff line number Diff line
@@ -643,6 +643,19 @@ Requested path was: {f}
                return result_gallery, generation_info if tabname != "extras" else html_info_x, html_info, html_log


def create_sampler_and_steps_selection(choices, tabname):
    if opts.samplers_in_dropdown:
        with gr.Row(elem_id=f"sampler_selection_{tabname}"):
            sampler_index = gr.Dropdown(label='Sampling method', elem_id=f"{tabname}_sampling", choices=[x.name for x in choices], value=choices[0].name, type="index")
            steps = gr.Slider(minimum=1, maximum=150, step=1, elem_id=f"{tabname}_steps", label="Sampling Steps", value=20)
    else:
        with gr.Group(elem_id=f"sampler_selection_{tabname}"):
            steps = gr.Slider(minimum=1, maximum=150, step=1, elem_id=f"{tabname}_steps", label="Sampling Steps", value=20)
            sampler_index = gr.Radio(label='Sampling method', elem_id=f"{tabname}_sampling", choices=[x.name for x in choices], value=choices[0].name, type="index")

    return steps, sampler_index


def create_ui():
    import modules.img2img
    import modules.txt2img
@@ -660,9 +673,6 @@ def create_ui():
        dummy_component = gr.Label(visible=False)
        txt_prompt_img = gr.File(label="", elem_id="txt2img_prompt_image", file_count="single", type="bytes", visible=False)




        with gr.Row(elem_id='txt2img_progress_row'):
            with gr.Column(scale=1):
                pass
@@ -674,8 +684,7 @@ def create_ui():

        with gr.Row().style(equal_height=False):
            with gr.Column(variant='panel', elem_id="txt2img_settings"):
                steps = gr.Slider(minimum=1, maximum=150, step=1, label="Sampling Steps", value=20)
                sampler_index = gr.Radio(label='Sampling method', elem_id="txt2img_sampling", choices=[x.name for x in samplers], value=samplers[0].name, type="index")
                steps, sampler_index = create_sampler_and_steps_selection(samplers, "txt2img")

                with gr.Group():
                    width = gr.Slider(minimum=64, maximum=2048, step=8, label="Width", value=512)
@@ -875,8 +884,7 @@ def create_ui():
                with gr.Row():
                    resize_mode = gr.Radio(label="Resize mode", elem_id="resize_mode", show_label=False, choices=["Just resize", "Crop and resize", "Resize and fill", "Just resize (latent upscale)"], type="index", value="Just resize")

                steps = gr.Slider(minimum=1, maximum=150, step=1, label="Sampling Steps", value=20)
                sampler_index = gr.Radio(label='Sampling method', choices=[x.name for x in samplers_for_img2img], value=samplers_for_img2img[0].name, type="index")
                steps, sampler_index = create_sampler_and_steps_selection(samplers_for_img2img, "img2img")

                with gr.Group():
                    width = gr.Slider(minimum=64, maximum=2048, step=8, label="Width", value=512, elem_id="img2img_width")