diff --git a/editor/run_instances_dialog.cpp b/editor/run_instances_dialog.cpp index 1e2d598c73e..132e2c4cbd2 100644 --- a/editor/run_instances_dialog.cpp +++ b/editor/run_instances_dialog.cpp @@ -38,6 +38,7 @@ #include "scene/gui/label.h" #include "scene/gui/line_edit.h" #include "scene/gui/popup_menu.h" +#include "scene/gui/separator.h" #include "scene/gui/spin_box.h" #include "scene/gui/tree.h" #include "scene/main/timer.h" @@ -194,7 +195,7 @@ void RunInstancesDialog::_instance_tree_rmb(const Vector2 &p_pos, MouseButton p_ } void RunInstancesDialog::popup_dialog() { - popup_centered(Vector2(1200, 600) * EDSCALE); + popup_centered_clamped(Size2(1200, 600) * EDSCALE, 0.8); } int RunInstancesDialog::get_instance_count() const { @@ -310,48 +311,29 @@ RunInstancesDialog::RunInstancesDialog() { VBoxContainer *main_vb = memnew(VBoxContainer); add_child(main_vb); - GridContainer *args_gc = memnew(GridContainer); - args_gc->set_columns(3); - args_gc->add_theme_constant_override("h_separation", 12 * EDSCALE); - main_vb->add_child(args_gc); - - enable_multiple_instances_checkbox = memnew(CheckBox); - enable_multiple_instances_checkbox->set_text(TTR("Enable Multiple Instances")); - enable_multiple_instances_checkbox->set_pressed(EditorSettings::get_singleton()->get_project_metadata("debug_options", "multiple_instances_enabled", false)); - args_gc->add_child(enable_multiple_instances_checkbox); - enable_multiple_instances_checkbox->connect(SceneStringName(pressed), callable_mp(this, &RunInstancesDialog::_start_main_timer)); + GridContainer *main_gc = memnew(GridContainer); + main_gc->set_columns(2); + main_vb->add_child(main_gc); { Label *l = memnew(Label); l->set_text(TTR("Main Run Args:")); - args_gc->add_child(l); + main_gc->add_child(l); } { Label *l = memnew(Label); l->set_text(TTR("Main Feature Tags:")); - args_gc->add_child(l); + main_gc->add_child(l); } stored_data = TypedArray(EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_instances_config", TypedArray())); - instance_count = memnew(SpinBox); - instance_count->set_min(1); - instance_count->set_max(20); - instance_count->set_value(EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_instance_count", stored_data.size())); - instance_count->set_accessibility_name(TTRC("Number of Instances")); - - args_gc->add_child(instance_count); - instance_count->connect(SceneStringName(value_changed), callable_mp(this, &RunInstancesDialog::_start_instance_timer).unbind(1)); - instance_count->connect(SceneStringName(value_changed), callable_mp(this, &RunInstancesDialog::_refresh_argument_count).unbind(1)); - enable_multiple_instances_checkbox->connect(SceneStringName(toggled), callable_mp(instance_count, &SpinBox::set_editable)); - instance_count->set_editable(enable_multiple_instances_checkbox->is_pressed()); - main_args_edit = memnew(LineEdit); main_args_edit->set_h_size_flags(Control::SIZE_EXPAND_FILL); main_args_edit->set_placeholder(TTR("Space-separated arguments, example: host player1 blue")); main_args_edit->set_accessibility_name(TTRC("Launch Arguments")); - args_gc->add_child(main_args_edit); + main_gc->add_child(main_args_edit); _fetch_main_args(); ProjectSettings::get_singleton()->connect("settings_changed", callable_mp(this, &RunInstancesDialog::_fetch_main_args)); main_args_edit->connect(SceneStringName(text_changed), callable_mp(this, &RunInstancesDialog::_start_main_timer).unbind(1)); @@ -361,16 +343,32 @@ RunInstancesDialog::RunInstancesDialog() { main_features_edit->set_placeholder(TTR("Comma-separated tags, example: demo, steam, event")); main_features_edit->set_text(EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_main_feature_tags", "")); main_features_edit->set_accessibility_name(TTRC("Feature Tags")); - args_gc->add_child(main_features_edit); + main_gc->add_child(main_features_edit); main_features_edit->connect(SceneStringName(text_changed), callable_mp(this, &RunInstancesDialog::_start_main_timer).unbind(1)); - { - Label *l = memnew(Label); - l->set_text(TTR("Instance Configuration")); - l->set_h_size_flags(Control::SIZE_SHRINK_CENTER); - l->set_theme_type_variation("HeaderSmall"); - main_vb->add_child(l); - } + main_vb->add_child(memnew(HSeparator)); + + HBoxContainer *instance_hb = memnew(HBoxContainer); + instance_hb->set_alignment(BoxContainer::ALIGNMENT_CENTER); + main_vb->add_child(instance_hb); + + enable_multiple_instances_checkbox = memnew(CheckBox); + enable_multiple_instances_checkbox->set_text(TTRC("Enable Multiple Instances")); + enable_multiple_instances_checkbox->set_pressed(EditorSettings::get_singleton()->get_project_metadata("debug_options", "multiple_instances_enabled", false)); + instance_hb->add_child(enable_multiple_instances_checkbox); + enable_multiple_instances_checkbox->connect(SceneStringName(pressed), callable_mp(this, &RunInstancesDialog::_start_main_timer)); + + instance_count = memnew(SpinBox); + instance_count->set_min(1); + instance_count->set_max(20); + instance_count->set_value(EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_instance_count", stored_data.size())); + instance_count->set_accessibility_name(TTRC("Number of Instances")); + + instance_hb->add_child(instance_count); + instance_count->connect(SceneStringName(value_changed), callable_mp(this, &RunInstancesDialog::_start_instance_timer).unbind(1)); + instance_count->connect(SceneStringName(value_changed), callable_mp(this, &RunInstancesDialog::_refresh_argument_count).unbind(1)); + enable_multiple_instances_checkbox->connect(SceneStringName(toggled), callable_mp(instance_count, &SpinBox::set_editable)); + instance_count->set_editable(enable_multiple_instances_checkbox->is_pressed()); instance_tree = memnew(Tree); instance_tree->set_v_size_flags(Control::SIZE_EXPAND_FILL);