From 40f77a17f7910030e356de57e812b90750c9490c Mon Sep 17 00:00:00 2001 From: Chia-Hsiang Cheng Date: Wed, 19 Jul 2023 16:22:48 +0800 Subject: [PATCH 1/2] Avoid duplicating the 'Filters' section --- editor/scene_tree_dock.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 818f5667087b..30143d3f3af1 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -3031,7 +3031,9 @@ void SceneTreeDock::_update_tree_menu() { } void SceneTreeDock::_update_filter_menu() { - _append_filter_options_to(filter->get_menu()); + if (filter->get_menu()->get_item_idx_from_text(TTR("Filters")) == -1) { + _append_filter_options_to(filter->get_menu()); + } } void SceneTreeDock::_filter_changed(const String &p_filter) { From b64a1a6d24963d1728981bb8d951835ee9de988e Mon Sep 17 00:00:00 2001 From: Jon Hermansen Date: Wed, 19 Jul 2023 12:13:23 +0000 Subject: [PATCH 2/2] Update filter menu search icon on theme change --- editor/scene_tree_dock.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/editor/scene_tree_dock.cpp b/editor/scene_tree_dock.cpp index 30143d3f3af1..eaac0ae53ed7 100644 --- a/editor/scene_tree_dock.cpp +++ b/editor/scene_tree_dock.cpp @@ -1385,6 +1385,11 @@ void SceneTreeDock::_notification(int p_what) { button_tree_menu->set_icon(get_theme_icon(SNAME("GuiTabMenuHl"), SNAME("EditorIcons"))); filter->set_right_icon(get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); + // Also remember to update the theme icon in filter menu, if menu was ever opened + int filter_menu_search_icon_idx = filter->get_menu()->get_item_idx_from_text(TTR("Filters")); + if (filter_menu_search_icon_idx != -1) { + filter->get_menu()->set_item_icon(filter_menu_search_icon_idx, get_theme_icon(SNAME("Search"), SNAME("EditorIcons"))); + } // These buttons are created on READY, because reasons... if (button_2d) {