mirror of
https://github.com/godotengine/godot.git
synced 2025-12-08 06:09:55 +00:00
Fix Run Instances window being too big
This commit is contained in:
parent
b89c47bb85
commit
3ec1440e80
1 changed files with 32 additions and 34 deletions
|
|
@ -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<Dictionary>(EditorSettings::get_singleton()->get_project_metadata("debug_options", "run_instances_config", TypedArray<Dictionary>()));
|
||||
|
||||
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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue