You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-06 12:20:30 +00:00
Merge pull request #85477 from KoBeWi/submenus_that_shall_not_be_named
Add methods to add submenus without using names
This commit is contained in:
@@ -5535,9 +5535,7 @@ void EditorNode::add_tool_menu_item(const String &p_name, const Callable &p_call
|
||||
void EditorNode::add_tool_submenu_item(const String &p_name, PopupMenu *p_submenu) {
|
||||
ERR_FAIL_NULL(p_submenu);
|
||||
ERR_FAIL_COND(p_submenu->get_parent() != nullptr);
|
||||
|
||||
tool_menu->add_child(p_submenu);
|
||||
tool_menu->add_submenu_item(p_name, p_submenu->get_name(), TOOLS_CUSTOM);
|
||||
tool_menu->add_submenu_node_item(p_name, p_submenu, TOOLS_CUSTOM);
|
||||
}
|
||||
|
||||
void EditorNode::remove_tool_menu_item(const String &p_name) {
|
||||
@@ -6841,7 +6839,10 @@ EditorNode::EditorNode() {
|
||||
file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/new_inherited_scene", TTR("New Inherited Scene..."), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + Key::N), FILE_NEW_INHERITED_SCENE);
|
||||
file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/open_scene", TTR("Open Scene..."), KeyModifierMask::CMD_OR_CTRL + Key::O), FILE_OPEN_SCENE);
|
||||
file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reopen_closed_scene", TTR("Reopen Closed Scene"), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + Key::T), FILE_OPEN_PREV);
|
||||
file_menu->add_submenu_item(TTR("Open Recent"), "RecentScenes", FILE_OPEN_RECENT);
|
||||
|
||||
recent_scenes = memnew(PopupMenu);
|
||||
file_menu->add_submenu_node_item(TTR("Open Recent"), recent_scenes, FILE_OPEN_RECENT);
|
||||
recent_scenes->connect("id_pressed", callable_mp(this, &EditorNode::_open_recent_scene));
|
||||
|
||||
file_menu->add_separator();
|
||||
file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/save_scene", TTR("Save Scene"), KeyModifierMask::CMD_OR_CTRL + Key::S), FILE_SAVE_SCENE);
|
||||
@@ -6857,9 +6858,7 @@ EditorNode::EditorNode() {
|
||||
|
||||
file_menu->add_separator();
|
||||
export_as_menu = memnew(PopupMenu);
|
||||
export_as_menu->set_name("Export");
|
||||
file_menu->add_child(export_as_menu);
|
||||
file_menu->add_submenu_item(TTR("Export As..."), "Export");
|
||||
file_menu->add_submenu_node_item(TTR("Export As..."), export_as_menu);
|
||||
export_as_menu->add_shortcut(ED_SHORTCUT("editor/export_as_mesh_library", TTR("MeshLibrary...")), FILE_EXPORT_MESH_LIBRARY);
|
||||
export_as_menu->connect("index_pressed", callable_mp(this, &EditorNode::_export_as_menu_option));
|
||||
|
||||
@@ -6871,11 +6870,6 @@ EditorNode::EditorNode() {
|
||||
file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/reload_saved_scene", TTR("Reload Saved Scene")), EDIT_RELOAD_SAVED_SCENE);
|
||||
file_menu->add_shortcut(ED_SHORTCUT_AND_COMMAND("editor/close_scene", TTR("Close Scene"), KeyModifierMask::CMD_OR_CTRL + KeyModifierMask::SHIFT + Key::W), FILE_CLOSE);
|
||||
|
||||
recent_scenes = memnew(PopupMenu);
|
||||
recent_scenes->set_name("RecentScenes");
|
||||
file_menu->add_child(recent_scenes);
|
||||
recent_scenes->connect("id_pressed", callable_mp(this, &EditorNode::_open_recent_scene));
|
||||
|
||||
if (!global_menu || !OS::get_singleton()->has_feature("macos")) {
|
||||
// On macOS "Quit" and "About" options are in the "app" menu.
|
||||
file_menu->add_separator();
|
||||
@@ -6918,10 +6912,8 @@ EditorNode::EditorNode() {
|
||||
project_menu->add_separator();
|
||||
|
||||
tool_menu = memnew(PopupMenu);
|
||||
tool_menu->set_name("Tools");
|
||||
tool_menu->connect("index_pressed", callable_mp(this, &EditorNode::_tool_menu_option));
|
||||
project_menu->add_child(tool_menu);
|
||||
project_menu->add_submenu_item(TTR("Tools"), "Tools");
|
||||
project_menu->add_submenu_node_item(TTR("Tools"), tool_menu);
|
||||
tool_menu->add_item(TTR("Orphan Resource Explorer..."), TOOLS_ORPHAN_RESOURCES);
|
||||
tool_menu->add_item(TTR("Upgrade Mesh Surfaces..."), TOOLS_SURFACE_UPGRADE);
|
||||
|
||||
@@ -6972,11 +6964,9 @@ EditorNode::EditorNode() {
|
||||
settings_menu->add_separator();
|
||||
|
||||
editor_layouts = memnew(PopupMenu);
|
||||
editor_layouts->set_name("Layouts");
|
||||
editor_layouts->set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED);
|
||||
settings_menu->add_child(editor_layouts);
|
||||
settings_menu->add_submenu_node_item(TTR("Editor Layout"), editor_layouts);
|
||||
editor_layouts->connect("id_pressed", callable_mp(this, &EditorNode::_layout_menu_option));
|
||||
settings_menu->add_submenu_item(TTR("Editor Layout"), "Layouts");
|
||||
settings_menu->add_separator();
|
||||
|
||||
ED_SHORTCUT_AND_COMMAND("editor/take_screenshot", TTR("Take Screenshot"), KeyModifierMask::CTRL | Key::F12);
|
||||
@@ -7404,12 +7394,10 @@ EditorNode::EditorNode() {
|
||||
add_editor_plugin(VersionControlEditorPlugin::get_singleton());
|
||||
|
||||
vcs_actions_menu = VersionControlEditorPlugin::get_singleton()->get_version_control_actions_panel();
|
||||
vcs_actions_menu->set_name("Version Control");
|
||||
vcs_actions_menu->connect("index_pressed", callable_mp(this, &EditorNode::_version_control_menu_option));
|
||||
vcs_actions_menu->add_item(TTR("Create/Override Version Control Metadata..."), RUN_VCS_METADATA);
|
||||
vcs_actions_menu->add_item(TTR("Version Control Settings..."), RUN_VCS_SETTINGS);
|
||||
project_menu->add_child(vcs_actions_menu);
|
||||
project_menu->set_item_submenu(project_menu->get_item_index(VCS_MENU), "Version Control");
|
||||
project_menu->set_item_submenu_node(project_menu->get_item_index(VCS_MENU), vcs_actions_menu);
|
||||
|
||||
add_editor_plugin(memnew(AudioBusesEditorPlugin(audio_bus_editor)));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user