|
@@ -6203,11 +6203,9 @@ EditorNode::EditorNode() {
|
|
|
tabbar_container->add_child(scene_tabs);
|
|
|
distraction_free = memnew(Button);
|
|
|
distraction_free->set_flat(true);
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- distraction_free->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/distraction_free_mode", TTR("Distraction Free Mode"), KEY_MASK_CMD | KEY_MASK_CTRL | KEY_D));
|
|
|
-#else
|
|
|
- distraction_free->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/distraction_free_mode", TTR("Distraction Free Mode"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F11));
|
|
|
-#endif
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/distraction_free_mode", TTR("Distraction Free Mode"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F11);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/distraction_free_mode", "macos", KEY_MASK_CMD | KEY_MASK_CTRL | KEY_D);
|
|
|
+ distraction_free->set_shortcut(ED_GET_SHORTCUT("editor/distraction_free_mode"));
|
|
|
distraction_free->set_tooltip(TTR("Toggle distraction-free mode."));
|
|
|
distraction_free->connect("pressed", callable_mp(this, &EditorNode::_toggle_distraction_free_mode));
|
|
|
distraction_free->set_icon(gui_base->get_theme_icon(SNAME("DistractionFree"), SNAME("EditorIcons")));
|
|
@@ -6395,11 +6393,9 @@ EditorNode::EditorNode() {
|
|
|
|
|
|
p->add_separator();
|
|
|
p->add_shortcut(ED_SHORTCUT("editor/reload_current_project", TTR("Reload Current Project")), RUN_RELOAD_CURRENT_PROJECT);
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quit_to_project_list", TTR("Quit to Project List"), KEY_MASK_SHIFT + KEY_MASK_ALT + KEY_Q), RUN_PROJECT_MANAGER, true);
|
|
|
-#else
|
|
|
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/quit_to_project_list", TTR("Quit to Project List"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_Q), RUN_PROJECT_MANAGER, true);
|
|
|
-#endif
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/quit_to_project_list", TTR("Quit to Project List"), KEY_MASK_CMD + KEY_MASK_SHIFT + KEY_Q);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/quit_to_project_list", "macos", KEY_MASK_SHIFT + KEY_MASK_ALT + KEY_Q);
|
|
|
+ p->add_shortcut(ED_GET_SHORTCUT("editor/quit_to_project_list"), RUN_PROJECT_MANAGER, true);
|
|
|
|
|
|
menu_hb->add_spacer();
|
|
|
|
|
@@ -6424,11 +6420,10 @@ EditorNode::EditorNode() {
|
|
|
left_menu_hb->add_child(settings_menu);
|
|
|
|
|
|
p = settings_menu->get_popup();
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/editor_settings", TTR("Editor Settings..."), KEY_MASK_CMD + KEY_COMMA), SETTINGS_PREFERENCES);
|
|
|
-#else
|
|
|
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/editor_settings", TTR("Editor Settings...")), SETTINGS_PREFERENCES);
|
|
|
-#endif
|
|
|
+
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/editor_settings", TTR("Editor Settings..."));
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/editor_settings", "macos", KEY_MASK_CMD + KEY_COMMA);
|
|
|
+ p->add_shortcut(ED_GET_SHORTCUT("editor/editor_settings"), SETTINGS_PREFERENCES);
|
|
|
p->add_shortcut(ED_SHORTCUT("editor/command_palette", TTR("Command Palette..."), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_P), HELP_COMMAND_PALETTE);
|
|
|
p->add_separator();
|
|
|
|
|
@@ -6438,17 +6433,17 @@ EditorNode::EditorNode() {
|
|
|
editor_layouts->connect("id_pressed", callable_mp(this, &EditorNode::_layout_menu_option));
|
|
|
p->add_submenu_item(TTR("Editor Layout"), "Layouts");
|
|
|
p->add_separator();
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CMD | KEY_F12), EDITOR_SCREENSHOT);
|
|
|
-#else
|
|
|
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CTRL | KEY_F12), EDITOR_SCREENSHOT);
|
|
|
-#endif
|
|
|
+
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/take_screenshot", TTR("Take Screenshot"), KEY_MASK_CTRL | KEY_F12);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/take_screenshot", "macos", KEY_MASK_CMD | KEY_F12);
|
|
|
+ p->add_shortcut(ED_GET_SHORTCUT("editor/take_screenshot"), EDITOR_SCREENSHOT);
|
|
|
+
|
|
|
p->set_item_tooltip(p->get_item_count() - 1, TTR("Screenshots are stored in the Editor Data/Settings Folder."));
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_CMD | KEY_MASK_CTRL | KEY_F), SETTINGS_TOGGLE_FULLSCREEN);
|
|
|
-#else
|
|
|
- p->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_SHIFT | KEY_F11), SETTINGS_TOGGLE_FULLSCREEN);
|
|
|
-#endif
|
|
|
+
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/fullscreen_mode", TTR("Toggle Fullscreen"), KEY_MASK_SHIFT | KEY_F11);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/fullscreen_mode", "macos", KEY_MASK_CMD | KEY_MASK_CTRL | KEY_F);
|
|
|
+ p->add_shortcut(ED_GET_SHORTCUT("editor/fullscreen_mode"), SETTINGS_TOGGLE_FULLSCREEN);
|
|
|
+
|
|
|
#if defined(WINDOWS_ENABLED) && defined(WINDOWS_SUBSYSTEM_CONSOLE)
|
|
|
// The console can only be toggled if the application was built for the console subsystem,
|
|
|
// not the GUI subsystem.
|
|
@@ -6457,7 +6452,7 @@ EditorNode::EditorNode() {
|
|
|
p->add_separator();
|
|
|
|
|
|
if (OS::get_singleton()->get_data_path() == OS::get_singleton()->get_config_path()) {
|
|
|
- // Configuration and data folders are located in the same place (Windows/macOS)
|
|
|
+ // Configuration and data folders are located in the same place (Windows/macos)
|
|
|
p->add_item(TTR("Open Editor Data/Settings Folder"), SETTINGS_EDITOR_DATA_FOLDER);
|
|
|
} else {
|
|
|
// Separate configuration and data folders (Linux)
|
|
@@ -6479,11 +6474,10 @@ EditorNode::EditorNode() {
|
|
|
|
|
|
p = help_menu->get_popup();
|
|
|
p->connect("id_pressed", callable_mp(this, &EditorNode::_menu_option));
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/editor_help", TTR("Search Help"), KEY_MASK_ALT | KEY_SPACE), HELP_SEARCH);
|
|
|
-#else
|
|
|
- p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/editor_help", TTR("Search Help"), KEY_F1), HELP_SEARCH);
|
|
|
-#endif
|
|
|
+
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/editor_help", TTR("Search Help"), KEY_F1);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/editor_help", "macos", KEY_MASK_ALT | KEY_SPACE);
|
|
|
+ p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("HelpSearch"), SNAME("EditorIcons")), ED_GET_SHORTCUT("editor/editor_help"), HELP_SEARCH);
|
|
|
p->add_separator();
|
|
|
p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/online_docs", TTR("Online Documentation")), HELP_DOCS);
|
|
|
p->add_icon_shortcut(gui_base->get_theme_icon(SNAME("Instance"), SNAME("EditorIcons")), ED_SHORTCUT_AND_COMMAND("editor/q&a", TTR("Questions & Answers")), HELP_QA);
|
|
@@ -6506,11 +6500,10 @@ EditorNode::EditorNode() {
|
|
|
play_button->set_focus_mode(Control::FOCUS_NONE);
|
|
|
play_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_PLAY));
|
|
|
play_button->set_tooltip(TTR("Play the project."));
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- play_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play", TTR("Play"), KEY_MASK_CMD | KEY_B));
|
|
|
-#else
|
|
|
- play_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play", TTR("Play"), KEY_F5));
|
|
|
-#endif
|
|
|
+
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/play", TTR("Play"), KEY_F5);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/play", "macos", KEY_MASK_CMD | KEY_B);
|
|
|
+ play_button->set_shortcut(ED_GET_SHORTCUT("editor/play"));
|
|
|
|
|
|
pause_button = memnew(Button);
|
|
|
pause_button->set_flat(true);
|
|
@@ -6520,11 +6513,10 @@ EditorNode::EditorNode() {
|
|
|
pause_button->set_tooltip(TTR("Pause the scene execution for debugging."));
|
|
|
pause_button->set_disabled(true);
|
|
|
play_hb->add_child(pause_button);
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- pause_button->set_shortcut(ED_SHORTCUT("editor/pause_scene", TTR("Pause Scene"), KEY_MASK_CMD | KEY_MASK_CTRL | KEY_Y));
|
|
|
-#else
|
|
|
- pause_button->set_shortcut(ED_SHORTCUT("editor/pause_scene", TTR("Pause Scene"), KEY_F7));
|
|
|
-#endif
|
|
|
+
|
|
|
+ ED_SHORTCUT("editor/pause_scene", TTR("Pause Scene"), KEY_F7);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/pause_scene", "macos", KEY_MASK_CMD | KEY_MASK_CTRL | KEY_Y);
|
|
|
+ pause_button->set_shortcut(ED_GET_SHORTCUT("editor/pause_scene"));
|
|
|
|
|
|
stop_button = memnew(Button);
|
|
|
stop_button->set_flat(true);
|
|
@@ -6534,11 +6526,10 @@ EditorNode::EditorNode() {
|
|
|
stop_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_STOP));
|
|
|
stop_button->set_tooltip(TTR("Stop the scene."));
|
|
|
stop_button->set_disabled(true);
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- stop_button->set_shortcut(ED_SHORTCUT("editor/stop", TTR("Stop"), KEY_MASK_CMD | KEY_PERIOD));
|
|
|
-#else
|
|
|
- stop_button->set_shortcut(ED_SHORTCUT("editor/stop", TTR("Stop"), KEY_F8));
|
|
|
-#endif
|
|
|
+
|
|
|
+ ED_SHORTCUT("editor/stop", TTR("Stop"), KEY_F8);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/stop", "macos", KEY_MASK_CMD | KEY_PERIOD);
|
|
|
+ stop_button->set_shortcut(ED_GET_SHORTCUT("editor/stop"));
|
|
|
|
|
|
run_native = memnew(EditorRunNative);
|
|
|
play_hb->add_child(run_native);
|
|
@@ -6552,11 +6543,10 @@ EditorNode::EditorNode() {
|
|
|
play_scene_button->set_icon(gui_base->get_theme_icon(SNAME("PlayScene"), SNAME("EditorIcons")));
|
|
|
play_scene_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_PLAY_SCENE));
|
|
|
play_scene_button->set_tooltip(TTR("Play the edited scene."));
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- play_scene_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play_scene", TTR("Play Scene"), KEY_MASK_CMD | KEY_R));
|
|
|
-#else
|
|
|
- play_scene_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play_scene", TTR("Play Scene"), KEY_F6));
|
|
|
-#endif
|
|
|
+
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/play_scene", TTR("Play Scene"), KEY_F6);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/play_scene", "macos", KEY_MASK_CMD | KEY_R);
|
|
|
+ play_scene_button->set_shortcut(ED_GET_SHORTCUT("editor/play_scene"));
|
|
|
|
|
|
play_custom_scene_button = memnew(Button);
|
|
|
play_custom_scene_button->set_flat(true);
|
|
@@ -6566,11 +6556,10 @@ EditorNode::EditorNode() {
|
|
|
play_custom_scene_button->set_icon(gui_base->get_theme_icon(SNAME("PlayCustom"), SNAME("EditorIcons")));
|
|
|
play_custom_scene_button->connect("pressed", callable_mp(this, &EditorNode::_menu_option), make_binds(RUN_PLAY_CUSTOM_SCENE));
|
|
|
play_custom_scene_button->set_tooltip(TTR("Play custom scene"));
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- play_custom_scene_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play_custom_scene", TTR("Play Custom Scene"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_R));
|
|
|
-#else
|
|
|
- play_custom_scene_button->set_shortcut(ED_SHORTCUT_AND_COMMAND("editor/play_custom_scene", TTR("Play Custom Scene"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F5));
|
|
|
-#endif
|
|
|
+
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/play_custom_scene", TTR("Play Custom Scene"), KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_F5);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/play_custom_scene", "macos", KEY_MASK_CMD | KEY_MASK_SHIFT | KEY_R);
|
|
|
+ play_custom_scene_button->set_shortcut(ED_GET_SHORTCUT("editor/play_custom_scene"));
|
|
|
|
|
|
HBoxContainer *right_menu_hb = memnew(HBoxContainer);
|
|
|
menu_hb->add_child(right_menu_hb);
|
|
@@ -7106,20 +7095,19 @@ EditorNode::EditorNode() {
|
|
|
ResourceSaver::set_save_callback(_resource_saved);
|
|
|
ResourceLoader::set_load_callback(_resource_loaded);
|
|
|
|
|
|
-#ifdef OSX_ENABLED
|
|
|
- ED_SHORTCUT_AND_COMMAND("editor/editor_2d", TTR("Open 2D Editor"), KEY_MASK_ALT | KEY_1);
|
|
|
- ED_SHORTCUT_AND_COMMAND("editor/editor_3d", TTR("Open 3D Editor"), KEY_MASK_ALT | KEY_2);
|
|
|
- ED_SHORTCUT_AND_COMMAND("editor/editor_script", TTR("Open Script Editor"), KEY_MASK_ALT | KEY_3);
|
|
|
- ED_SHORTCUT_AND_COMMAND("editor/editor_assetlib", TTR("Open Asset Library"), KEY_MASK_ALT | KEY_4);
|
|
|
-#else
|
|
|
// Use the Ctrl modifier so F2 can be used to rename nodes in the scene tree dock.
|
|
|
ED_SHORTCUT_AND_COMMAND("editor/editor_2d", TTR("Open 2D Editor"), KEY_MASK_CTRL | KEY_F1);
|
|
|
ED_SHORTCUT_AND_COMMAND("editor/editor_3d", TTR("Open 3D Editor"), KEY_MASK_CTRL | KEY_F2);
|
|
|
ED_SHORTCUT_AND_COMMAND("editor/editor_script", TTR("Open Script Editor"), KEY_MASK_CTRL | KEY_F3);
|
|
|
ED_SHORTCUT_AND_COMMAND("editor/editor_assetlib", TTR("Open Asset Library"), KEY_MASK_CTRL | KEY_F4);
|
|
|
-#endif
|
|
|
- ED_SHORTCUT_AND_COMMAND("editor/editor_next", TTR("Next Editor Tab"));
|
|
|
- ED_SHORTCUT_AND_COMMAND("editor/editor_prev", TTR("Previous Editor Tab"));
|
|
|
+
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/editor_2d", "macos", KEY_MASK_ALT | KEY_1);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/editor_3d", "macos", KEY_MASK_ALT | KEY_2);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/editor_script", "macos", KEY_MASK_ALT | KEY_3);
|
|
|
+ ED_SHORTCUT_OVERRIDE("editor/editor_assetlib", "macos", KEY_MASK_ALT | KEY_4);
|
|
|
+
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/editor_next", TTR("Open the next Editor"));
|
|
|
+ ED_SHORTCUT_AND_COMMAND("editor/editor_prev", TTR("Open the previous Editor"));
|
|
|
|
|
|
screenshot_timer = memnew(Timer);
|
|
|
screenshot_timer->set_one_shot(true);
|