You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-06 12:20:30 +00:00
Add keyboard shortcuts to the project manager
- Ctrl + N: New Project
- Ctrl + I: Import Project
- Ctrl + S: Scan for Projects
- Ctrl + E: Edit Project
- Ctrl + R: Run Project
- F2: Rename Project
- Delete: Remove Project
- Already implemented previously, but moved to use `ED_SHORTCUT()`.
Note that depsite using `ED_SHORTCUT()`, these shortcuts won't appear
in the Editor Settings' Shortcuts dialog and won't be remappable since
the project manager code isn't run in the editor.
(cherry picked from commit 9bda49e030)
This commit is contained in:
committed by
Rémi Verschelde
parent
bf22de76f7
commit
8beb57476f
@@ -1848,9 +1848,6 @@ void ProjectManager::_unhandled_input(const Ref<InputEvent> &p_ev) {
|
|||||||
case KEY_ENTER: {
|
case KEY_ENTER: {
|
||||||
_open_selected_projects_ask();
|
_open_selected_projects_ask();
|
||||||
} break;
|
} break;
|
||||||
case KEY_DELETE: {
|
|
||||||
_erase_project();
|
|
||||||
} break;
|
|
||||||
case KEY_HOME: {
|
case KEY_HOME: {
|
||||||
if (_project_list->get_project_count() > 0) {
|
if (_project_list->get_project_count() > 0) {
|
||||||
_project_list->select_project(0);
|
_project_list->select_project(0);
|
||||||
@@ -2491,12 +2488,14 @@ ProjectManager::ProjectManager() {
|
|||||||
|
|
||||||
Button *open = memnew(Button);
|
Button *open = memnew(Button);
|
||||||
open->set_text(TTR("Edit"));
|
open->set_text(TTR("Edit"));
|
||||||
|
open->set_shortcut(ED_SHORTCUT("project_manager/edit_project", TTR("Edit Project"), KEY_MASK_CMD | KEY_E));
|
||||||
tree_vb->add_child(open);
|
tree_vb->add_child(open);
|
||||||
open->connect("pressed", this, "_open_selected_projects_ask");
|
open->connect("pressed", this, "_open_selected_projects_ask");
|
||||||
open_btn = open;
|
open_btn = open;
|
||||||
|
|
||||||
Button *run = memnew(Button);
|
Button *run = memnew(Button);
|
||||||
run->set_text(TTR("Run"));
|
run->set_text(TTR("Run"));
|
||||||
|
run->set_shortcut(ED_SHORTCUT("project_manager/run_project", TTR("Run Project"), KEY_MASK_CMD | KEY_R));
|
||||||
tree_vb->add_child(run);
|
tree_vb->add_child(run);
|
||||||
run->connect("pressed", this, "_run_project");
|
run->connect("pressed", this, "_run_project");
|
||||||
run_btn = run;
|
run_btn = run;
|
||||||
@@ -2505,6 +2504,7 @@ ProjectManager::ProjectManager() {
|
|||||||
|
|
||||||
Button *scan = memnew(Button);
|
Button *scan = memnew(Button);
|
||||||
scan->set_text(TTR("Scan"));
|
scan->set_text(TTR("Scan"));
|
||||||
|
scan->set_shortcut(ED_SHORTCUT("project_manager/scan_projects", TTR("Scan Projects"), KEY_MASK_CMD | KEY_S));
|
||||||
tree_vb->add_child(scan);
|
tree_vb->add_child(scan);
|
||||||
scan->connect("pressed", this, "_scan_projects");
|
scan->connect("pressed", this, "_scan_projects");
|
||||||
|
|
||||||
@@ -2520,22 +2520,26 @@ ProjectManager::ProjectManager() {
|
|||||||
|
|
||||||
Button *create = memnew(Button);
|
Button *create = memnew(Button);
|
||||||
create->set_text(TTR("New Project"));
|
create->set_text(TTR("New Project"));
|
||||||
|
create->set_shortcut(ED_SHORTCUT("project_manager/new_project", TTR("New Project"), KEY_MASK_CMD | KEY_N));
|
||||||
tree_vb->add_child(create);
|
tree_vb->add_child(create);
|
||||||
create->connect("pressed", this, "_new_project");
|
create->connect("pressed", this, "_new_project");
|
||||||
|
|
||||||
Button *import = memnew(Button);
|
Button *import = memnew(Button);
|
||||||
import->set_text(TTR("Import"));
|
import->set_text(TTR("Import"));
|
||||||
|
import->set_shortcut(ED_SHORTCUT("project_manager/import_project", TTR("Import Project"), KEY_MASK_CMD | KEY_I));
|
||||||
tree_vb->add_child(import);
|
tree_vb->add_child(import);
|
||||||
import->connect("pressed", this, "_import_project");
|
import->connect("pressed", this, "_import_project");
|
||||||
|
|
||||||
Button *rename = memnew(Button);
|
Button *rename = memnew(Button);
|
||||||
rename->set_text(TTR("Rename"));
|
rename->set_text(TTR("Rename"));
|
||||||
|
rename->set_shortcut(ED_SHORTCUT("project_manager/rename_project", TTR("Rename Project"), KEY_F2));
|
||||||
tree_vb->add_child(rename);
|
tree_vb->add_child(rename);
|
||||||
rename->connect("pressed", this, "_rename_project");
|
rename->connect("pressed", this, "_rename_project");
|
||||||
rename_btn = rename;
|
rename_btn = rename;
|
||||||
|
|
||||||
Button *erase = memnew(Button);
|
Button *erase = memnew(Button);
|
||||||
erase->set_text(TTR("Remove"));
|
erase->set_text(TTR("Remove"));
|
||||||
|
erase->set_shortcut(ED_SHORTCUT("project_manager/remove_project", TTR("Remove Project"), KEY_DELETE));
|
||||||
tree_vb->add_child(erase);
|
tree_vb->add_child(erase);
|
||||||
erase->connect("pressed", this, "_erase_project");
|
erase->connect("pressed", this, "_erase_project");
|
||||||
erase_btn = erase;
|
erase_btn = erase;
|
||||||
|
|||||||
Reference in New Issue
Block a user