From 6e20c78c20a4e8a198d5311f6b0f8f8288275fb3 Mon Sep 17 00:00:00 2001 From: Yuri Sizov Date: Thu, 26 Oct 2023 17:56:09 +0200 Subject: [PATCH] Limit custom icons size in various editor widgets --- editor/editor_help_search.cpp | 31 ++++++++++++++----------------- editor/editor_help_search.h | 1 - editor/inspector_dock.cpp | 3 +++ 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/editor/editor_help_search.cpp b/editor/editor_help_search.cpp index 1029cfcf0ef..44698d93f66 100644 --- a/editor/editor_help_search.cpp +++ b/editor/editor_help_search.cpp @@ -37,18 +37,6 @@ #include "editor/editor_settings.h" #include "editor/editor_string_names.h" -void EditorHelpSearch::_update_icons() { - search_box->set_right_icon(results_tree->get_editor_theme_icon(SNAME("Search"))); - search_box->set_clear_button_enabled(true); - search_box->add_theme_icon_override("right_icon", results_tree->get_editor_theme_icon(SNAME("Search"))); - case_sensitive_button->set_icon(results_tree->get_editor_theme_icon(SNAME("MatchCase"))); - hierarchy_button->set_icon(results_tree->get_editor_theme_icon(SNAME("ClassList"))); - - if (is_visible()) { - _update_results(); - } -} - void EditorHelpSearch::_update_results() { String term = search_box->get_text(); @@ -114,16 +102,24 @@ void EditorHelpSearch::_notification(int p_what) { } } break; - case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { - _update_icons(); - } break; - case NOTIFICATION_READY: { connect("confirmed", callable_mp(this, &EditorHelpSearch::_confirmed)); } break; + case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: case NOTIFICATION_THEME_CHANGED: { - _update_icons(); + const int icon_width = get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor)); + results_tree->add_theme_constant_override("icon_max_width", icon_width); + + search_box->set_right_icon(get_editor_theme_icon(SNAME("Search"))); + search_box->add_theme_icon_override("right_icon", get_editor_theme_icon(SNAME("Search"))); + + case_sensitive_button->set_icon(get_editor_theme_icon(SNAME("MatchCase"))); + hierarchy_button->set_icon(get_editor_theme_icon(SNAME("ClassList"))); + + if (is_visible()) { + _update_results(); + } } break; case NOTIFICATION_PROCESS: { @@ -204,6 +200,7 @@ EditorHelpSearch::EditorHelpSearch() { search_box = memnew(LineEdit); search_box->set_custom_minimum_size(Size2(200, 0) * EDSCALE); search_box->set_h_size_flags(Control::SIZE_EXPAND_FILL); + search_box->set_clear_button_enabled(true); search_box->connect("gui_input", callable_mp(this, &EditorHelpSearch::_search_box_gui_input)); search_box->connect("text_changed", callable_mp(this, &EditorHelpSearch::_search_box_text_changed)); register_text_enter(search_box); diff --git a/editor/editor_help_search.h b/editor/editor_help_search.h index e8056ce6acd..30a783a628c 100644 --- a/editor/editor_help_search.h +++ b/editor/editor_help_search.h @@ -67,7 +67,6 @@ class EditorHelpSearch : public ConfirmationDialog { class Runner; Ref search; - void _update_icons(); void _update_results(); void _search_box_gui_input(const Ref &p_event); diff --git a/editor/inspector_dock.cpp b/editor/inspector_dock.cpp index 044ac52147e..717aaf396fc 100644 --- a/editor/inspector_dock.cpp +++ b/editor/inspector_dock.cpp @@ -443,6 +443,9 @@ void InspectorDock::_notification(int p_what) { forward_button->set_icon(get_editor_theme_icon(SNAME("Forward"))); } + const int icon_width = get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor)); + history_menu->get_popup()->add_theme_constant_override("icon_max_width", icon_width); + history_menu->set_icon(get_editor_theme_icon(SNAME("History"))); object_menu->set_icon(get_editor_theme_icon(SNAME("Tools"))); search->set_right_icon(get_editor_theme_icon(SNAME("Search")));