From c15fe90ac427175273079157ddacd1ec9123c026 Mon Sep 17 00:00:00 2001 From: Hugo Locurcio Date: Wed, 25 Sep 2024 16:01:36 +0200 Subject: [PATCH] Make pressing Enter confirm project creation/import in the project manager This makes the project manager more friendly to keyboard usage. You can now create projects more easily without touching the mouse by opening the project manager, pressing Ctrl + N, entering a project name and pressing Enter. --- editor/project_manager/project_dialog.cpp | 6 ++++++ scene/scene_string_names.cpp | 1 + scene/scene_string_names.h | 1 + 3 files changed, 8 insertions(+) diff --git a/editor/project_manager/project_dialog.cpp b/editor/project_manager/project_dialog.cpp index 7acda168901..01868846bfe 100644 --- a/editor/project_manager/project_dialog.cpp +++ b/editor/project_manager/project_dialog.cpp @@ -1024,8 +1024,14 @@ ProjectDialog::ProjectDialog() { add_child(fdialog_install); project_name->connect(SceneStringName(text_changed), callable_mp(this, &ProjectDialog::_project_name_changed).unbind(1)); + project_name->connect(SceneStringName(text_submitted), callable_mp(this, &ProjectDialog::ok_pressed).unbind(1)); + project_path->connect(SceneStringName(text_changed), callable_mp(this, &ProjectDialog::_project_path_changed).unbind(1)); + project_path->connect(SceneStringName(text_submitted), callable_mp(this, &ProjectDialog::ok_pressed).unbind(1)); + install_path->connect(SceneStringName(text_changed), callable_mp(this, &ProjectDialog::_install_path_changed).unbind(1)); + install_path->connect(SceneStringName(text_submitted), callable_mp(this, &ProjectDialog::ok_pressed).unbind(1)); + fdialog_install->connect("dir_selected", callable_mp(this, &ProjectDialog::_install_path_selected)); fdialog_install->connect("file_selected", callable_mp(this, &ProjectDialog::_install_path_selected)); diff --git a/scene/scene_string_names.cpp b/scene/scene_string_names.cpp index f8a0336b376..140e5882910 100644 --- a/scene/scene_string_names.cpp +++ b/scene/scene_string_names.cpp @@ -141,5 +141,6 @@ SceneStringNames::SceneStringNames() { confirmed = StaticCString::create("confirmed"); text_changed = StaticCString::create("text_changed"); + text_submitted = StaticCString::create("text_submitted"); value_changed = StaticCString::create("value_changed"); } diff --git a/scene/scene_string_names.h b/scene/scene_string_names.h index 381a161ad57..fc22be33b23 100644 --- a/scene/scene_string_names.h +++ b/scene/scene_string_names.h @@ -154,6 +154,7 @@ public: StringName confirmed; StringName text_changed; + StringName text_submitted; StringName value_changed; };