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