@@ -865,15 +865,7 @@ void FindInFilesPanel::stop_search() {
865865void FindInFilesPanel::_notification (int p_what) {
866866 switch (p_what) {
867867 case NOTIFICATION_THEME_CHANGED: {
868- _search_text_label->add_theme_font_override (SceneStringName (font), get_theme_font (SNAME (" source" ), EditorStringName (EditorFonts)));
869- _search_text_label->add_theme_font_size_override (SceneStringName (font_size), get_theme_font_size (SNAME (" source_size" ), EditorStringName (EditorFonts)));
870- _results_display->add_theme_font_override (SceneStringName (font), get_theme_font (SNAME (" source" ), EditorStringName (EditorFonts)));
871- _results_display->add_theme_font_size_override (SceneStringName (font_size), get_theme_font_size (SNAME (" source_size" ), EditorStringName (EditorFonts)));
872-
873- // Rebuild search tree.
874- if (!_finder->get_search_text ().is_empty ()) {
875- start_search ();
876- }
868+ _on_theme_changed ();
877869 } break ;
878870 case NOTIFICATION_TRANSLATION_CHANGED: {
879871 update_matches_text ();
@@ -965,6 +957,38 @@ void FindInFilesPanel::_on_result_found(const String &fpath, int line_number, in
965957 }
966958}
967959
960+ void FindInFilesPanel::_on_theme_changed () {
961+ _results_display->add_theme_font_override (SceneStringName (font), get_theme_font (SNAME (" source" ), EditorStringName (EditorFonts)));
962+ _results_display->add_theme_font_size_override (SceneStringName (font_size), get_theme_font_size (SNAME (" source_size" ), EditorStringName (EditorFonts)));
963+
964+ Color file_item_color = _results_display->get_theme_color (SceneStringName (font_color)) * Color (1 , 1 , 1 , 0.67 );
965+ Ref<Texture2D> remove_texture = get_editor_theme_icon (SNAME (" Close" ));
966+ Ref<Texture2D> replace_texture = get_editor_theme_icon (SNAME (" ReplaceText" ));
967+
968+ TreeItem *file_item = _results_display->get_root ()->get_first_child ();
969+ while (file_item) {
970+ file_item->set_custom_color (0 , file_item_color);
971+ if (_with_replace) {
972+ file_item->set_button (0 , file_item->get_button_by_id (0 , FIND_BUTTON_REPLACE), replace_texture);
973+ }
974+ file_item->set_button (0 , file_item->get_button_by_id (0 , FIND_BUTTON_REMOVE), remove_texture);
975+
976+ TreeItem *result_item = file_item->get_first_child ();
977+ while (result_item) {
978+ if (_with_replace) {
979+ result_item->set_button (1 , result_item->get_button_by_id (1 , FIND_BUTTON_REPLACE), replace_texture);
980+ result_item->set_button (1 , result_item->get_button_by_id (1 , FIND_BUTTON_REMOVE), remove_texture);
981+ } else {
982+ result_item->set_button (0 , result_item->get_button_by_id (0 , FIND_BUTTON_REMOVE), remove_texture);
983+ }
984+
985+ result_item = result_item->get_next ();
986+ }
987+
988+ file_item = file_item->get_next ();
989+ }
990+ }
991+
968992void FindInFilesPanel::draw_result_text (Object *item_obj, Rect2 rect) {
969993 TreeItem *item = Object::cast_to<TreeItem>(item_obj);
970994 if (!item) {
0 commit comments