You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-02 16:48:55 +00:00
Merge pull request #112728 from jinyangcruise/fix_find_in_files_auto_search_when_changing_language
Fix find in files auto search when changing theme
This commit is contained in:
@@ -865,15 +865,7 @@ void FindInFilesPanel::stop_search() {
|
|||||||
void FindInFilesPanel::_notification(int p_what) {
|
void FindInFilesPanel::_notification(int p_what) {
|
||||||
switch (p_what) {
|
switch (p_what) {
|
||||||
case NOTIFICATION_THEME_CHANGED: {
|
case NOTIFICATION_THEME_CHANGED: {
|
||||||
_search_text_label->add_theme_font_override(SceneStringName(font), get_theme_font(SNAME("source"), EditorStringName(EditorFonts)));
|
_on_theme_changed();
|
||||||
_search_text_label->add_theme_font_size_override(SceneStringName(font_size), get_theme_font_size(SNAME("source_size"), EditorStringName(EditorFonts)));
|
|
||||||
_results_display->add_theme_font_override(SceneStringName(font), get_theme_font(SNAME("source"), EditorStringName(EditorFonts)));
|
|
||||||
_results_display->add_theme_font_size_override(SceneStringName(font_size), get_theme_font_size(SNAME("source_size"), EditorStringName(EditorFonts)));
|
|
||||||
|
|
||||||
// Rebuild search tree.
|
|
||||||
if (!_finder->get_search_text().is_empty()) {
|
|
||||||
start_search();
|
|
||||||
}
|
|
||||||
} break;
|
} break;
|
||||||
case NOTIFICATION_TRANSLATION_CHANGED: {
|
case NOTIFICATION_TRANSLATION_CHANGED: {
|
||||||
update_matches_text();
|
update_matches_text();
|
||||||
@@ -965,6 +957,38 @@ void FindInFilesPanel::_on_result_found(const String &fpath, int line_number, in
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FindInFilesPanel::_on_theme_changed() {
|
||||||
|
_results_display->add_theme_font_override(SceneStringName(font), get_theme_font(SNAME("source"), EditorStringName(EditorFonts)));
|
||||||
|
_results_display->add_theme_font_size_override(SceneStringName(font_size), get_theme_font_size(SNAME("source_size"), EditorStringName(EditorFonts)));
|
||||||
|
|
||||||
|
Color file_item_color = _results_display->get_theme_color(SceneStringName(font_color)) * Color(1, 1, 1, 0.67);
|
||||||
|
Ref<Texture2D> remove_texture = get_editor_theme_icon(SNAME("Close"));
|
||||||
|
Ref<Texture2D> replace_texture = get_editor_theme_icon(SNAME("ReplaceText"));
|
||||||
|
|
||||||
|
TreeItem *file_item = _results_display->get_root()->get_first_child();
|
||||||
|
while (file_item) {
|
||||||
|
file_item->set_custom_color(0, file_item_color);
|
||||||
|
if (_with_replace) {
|
||||||
|
file_item->set_button(0, file_item->get_button_by_id(0, FIND_BUTTON_REPLACE), replace_texture);
|
||||||
|
}
|
||||||
|
file_item->set_button(0, file_item->get_button_by_id(0, FIND_BUTTON_REMOVE), remove_texture);
|
||||||
|
|
||||||
|
TreeItem *result_item = file_item->get_first_child();
|
||||||
|
while (result_item) {
|
||||||
|
if (_with_replace) {
|
||||||
|
result_item->set_button(1, result_item->get_button_by_id(1, FIND_BUTTON_REPLACE), replace_texture);
|
||||||
|
result_item->set_button(1, result_item->get_button_by_id(1, FIND_BUTTON_REMOVE), remove_texture);
|
||||||
|
} else {
|
||||||
|
result_item->set_button(0, result_item->get_button_by_id(0, FIND_BUTTON_REMOVE), remove_texture);
|
||||||
|
}
|
||||||
|
|
||||||
|
result_item = result_item->get_next();
|
||||||
|
}
|
||||||
|
|
||||||
|
file_item = file_item->get_next();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void FindInFilesPanel::draw_result_text(Object *item_obj, Rect2 rect) {
|
void FindInFilesPanel::draw_result_text(Object *item_obj, Rect2 rect) {
|
||||||
TreeItem *item = Object::cast_to<TreeItem>(item_obj);
|
TreeItem *item = Object::cast_to<TreeItem>(item_obj);
|
||||||
if (!item) {
|
if (!item) {
|
||||||
|
|||||||
@@ -195,6 +195,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
void _on_button_clicked(TreeItem *p_item, int p_column, int p_id, int p_mouse_button_index);
|
void _on_button_clicked(TreeItem *p_item, int p_column, int p_id, int p_mouse_button_index);
|
||||||
void _on_result_found(const String &fpath, int line_number, int begin, int end, String text);
|
void _on_result_found(const String &fpath, int line_number, int begin, int end, String text);
|
||||||
|
void _on_theme_changed();
|
||||||
void _on_finished();
|
void _on_finished();
|
||||||
void _on_refresh_button_clicked();
|
void _on_refresh_button_clicked();
|
||||||
void _on_cancel_button_clicked();
|
void _on_cancel_button_clicked();
|
||||||
|
|||||||
Reference in New Issue
Block a user