From ae2f69b6c01415e29d7f7d2ffbe7d10d30a03723 Mon Sep 17 00:00:00 2001 From: arkology <43543909+arkology@users.noreply.github.com> Date: Thu, 20 Nov 2025 10:38:54 +0000 Subject: [PATCH] Add "Undo Close" & "Close All" options for `EditorSceneTabs` out-of-tabs context menu --- editor/scene/editor_scene_tabs.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/editor/scene/editor_scene_tabs.cpp b/editor/scene/editor_scene_tabs.cpp index e2d821fb992..97f909bda6b 100644 --- a/editor/scene/editor_scene_tabs.cpp +++ b/editor/scene/editor_scene_tabs.cpp @@ -223,6 +223,13 @@ void EditorSceneTabs::_update_context_menu() { const PackedStringArray paths = { EditorNode::get_editor_data().get_scene_path(tab_id) }; EditorContextMenuPluginManager::get_singleton()->add_options_from_plugins(scene_tabs_context_menu, EditorContextMenuPlugin::CONTEXT_SLOT_SCENE_TABS, paths); } else { + scene_tabs_context_menu->add_separator(); + scene_tabs_context_menu->add_shortcut(ED_GET_SHORTCUT("editor/reopen_closed_scene"), EditorNode::SCENE_OPEN_PREV); + scene_tabs_context_menu->set_item_text(-1, TTRC("Undo Close Tab")); + DISABLE_LAST_OPTION_IF(!EditorNode::get_singleton()->has_previous_closed_scenes()); + scene_tabs_context_menu->add_shortcut(ED_GET_SHORTCUT("editor/close_all_scenes"), EditorNode::SCENE_CLOSE_ALL); + scene_tabs_context_menu->set_item_text(-1, TTRC("Close All Tabs")); + EditorContextMenuPluginManager::get_singleton()->add_options_from_plugins(scene_tabs_context_menu, EditorContextMenuPlugin::CONTEXT_SLOT_SCENE_TABS, {}); } #undef DISABLE_LAST_OPTION_IF