Merge pull request #108804 from bruvzg/mac_bundle_icon

[macOS] Use "file" icon for bundles in the file dialogs.
This commit is contained in:
Thaddeus Crews 2025-09-22 08:50:02 -05:00
commit c852872cb2
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC
3 changed files with 6 additions and 4 deletions

View file

@ -229,6 +229,7 @@ void EditorFileDialog::_update_theme_item_cache() {
theme_cache.filter_box = get_editor_theme_icon(SNAME("Search")); theme_cache.filter_box = get_editor_theme_icon(SNAME("Search"));
theme_cache.file_sort_button = get_editor_theme_icon(SNAME("Sort")); theme_cache.file_sort_button = get_editor_theme_icon(SNAME("Sort"));
theme_cache.file = get_editor_theme_icon(SNAME("File"));
theme_cache.folder = get_editor_theme_icon(SNAME("Folder")); theme_cache.folder = get_editor_theme_icon(SNAME("Folder"));
theme_cache.folder_icon_color = get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog")); theme_cache.folder_icon_color = get_theme_color(SNAME("folder_icon_color"), SNAME("FileDialog"));
@ -1114,9 +1115,9 @@ void EditorFileDialog::update_file_list() {
item_list->add_item(dir_name); item_list->add_item(dir_name);
if (display_mode == DISPLAY_THUMBNAILS) { if (display_mode == DISPLAY_THUMBNAILS) {
item_list->set_item_icon(-1, folder_thumbnail); item_list->set_item_icon(-1, bundle ? file_thumbnail : folder_thumbnail);
} else { } else {
item_list->set_item_icon(-1, theme_cache.folder); item_list->set_item_icon(-1, bundle ? theme_cache.file : theme_cache.folder);
} }
Dictionary d; Dictionary d;

View file

@ -185,6 +185,7 @@ private:
Ref<Texture2D> filter_box; Ref<Texture2D> filter_box;
Ref<Texture2D> file_sort_button; Ref<Texture2D> file_sort_button;
Ref<Texture2D> file;
Ref<Texture2D> folder; Ref<Texture2D> folder;
Color folder_icon_color; Color folder_icon_color;

View file

@ -882,9 +882,9 @@ void FileDialog::update_file_list() {
for (const DirInfo &info : filtered_dirs) { for (const DirInfo &info : filtered_dirs) {
if (display_mode == DISPLAY_THUMBNAILS) { if (display_mode == DISPLAY_THUMBNAILS) {
file_list->add_item(info.name, theme_cache.folder_thumbnail); file_list->add_item(info.name, info.bundle ? theme_cache.file_thumbnail : theme_cache.folder_thumbnail);
} else { } else {
file_list->add_item(info.name, theme_cache.folder); file_list->add_item(info.name, info.bundle ? theme_cache.file : theme_cache.folder);
} }
file_list->set_item_icon_modulate(-1, theme_cache.folder_icon_color); file_list->set_item_icon_modulate(-1, theme_cache.folder_icon_color);