Fix EditorFileDialog icon scale in list mode
This commit is contained in:
@@ -32,8 +32,10 @@
|
|||||||
|
|
||||||
#include "core/config/project_settings.h"
|
#include "core/config/project_settings.h"
|
||||||
#include "editor/docks/filesystem_dock.h"
|
#include "editor/docks/filesystem_dock.h"
|
||||||
|
#include "editor/editor_string_names.h"
|
||||||
#include "editor/file_system/dependency_editor.h"
|
#include "editor/file_system/dependency_editor.h"
|
||||||
#include "editor/settings/editor_settings.h"
|
#include "editor/settings/editor_settings.h"
|
||||||
|
#include "editor/themes/editor_scale.h"
|
||||||
|
|
||||||
void EditorFileDialog::_item_menu_id_pressed(int p_option) {
|
void EditorFileDialog::_item_menu_id_pressed(int p_option) {
|
||||||
// Use dependency dialog to delete the entry in the editor, but only for project files.
|
// Use dependency dialog to delete the entry in the editor, but only for project files.
|
||||||
@@ -82,6 +84,10 @@ Color EditorFileDialog::_get_folder_color(const String &p_path) const {
|
|||||||
return FileSystemDock::get_dir_icon_color(p_path, FileDialog::_get_folder_color(p_path));
|
return FileSystemDock::get_dir_icon_color(p_path, FileDialog::_get_folder_color(p_path));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Vector2i EditorFileDialog::_get_list_mode_icon_size() const {
|
||||||
|
return Vector2i(1, 1) * Math::round(get_theme_constant(SNAME("class_icon_size"), EditorStringName(Editor)) * EDSCALE);
|
||||||
|
}
|
||||||
|
|
||||||
void EditorFileDialog::_bind_methods() {
|
void EditorFileDialog::_bind_methods() {
|
||||||
#ifndef DISABLE_DEPRECATED
|
#ifndef DISABLE_DEPRECATED
|
||||||
ClassDB::bind_method(D_METHOD("add_side_menu", "menu", "title"), &EditorFileDialog::add_side_menu, DEFVAL(""));
|
ClassDB::bind_method(D_METHOD("add_side_menu", "menu", "title"), &EditorFileDialog::add_side_menu, DEFVAL(""));
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ protected:
|
|||||||
virtual bool _should_use_native_popup() const override;
|
virtual bool _should_use_native_popup() const override;
|
||||||
virtual bool _should_hide_file(const String &p_file) const override;
|
virtual bool _should_hide_file(const String &p_file) const override;
|
||||||
virtual Color _get_folder_color(const String &p_path) const override;
|
virtual Color _get_folder_color(const String &p_path) const override;
|
||||||
|
virtual Vector2i _get_list_mode_icon_size() const override;
|
||||||
|
|
||||||
static void _bind_methods();
|
static void _bind_methods();
|
||||||
void _validate_property(PropertyInfo &p_property) const;
|
void _validate_property(PropertyInfo &p_property) const;
|
||||||
|
|||||||
@@ -95,6 +95,10 @@ bool FileDialog::_can_use_native_popup() const {
|
|||||||
return DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_NATIVE_DIALOG_FILE);
|
return DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_NATIVE_DIALOG_FILE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Vector2i FileDialog::_get_list_mode_icon_size() const {
|
||||||
|
return theme_cache.file->get_size();
|
||||||
|
}
|
||||||
|
|
||||||
void FileDialog::_popup_base(const Rect2i &p_screen_rect) {
|
void FileDialog::_popup_base(const Rect2i &p_screen_rect) {
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
if (is_part_of_edited_scene()) {
|
if (is_part_of_edited_scene()) {
|
||||||
@@ -825,7 +829,7 @@ void FileDialog::update_file_list() {
|
|||||||
file_list->set_max_columns(1);
|
file_list->set_max_columns(1);
|
||||||
file_list->set_max_text_lines(1);
|
file_list->set_max_text_lines(1);
|
||||||
file_list->set_fixed_column_width(0);
|
file_list->set_fixed_column_width(0);
|
||||||
file_list->set_fixed_icon_size(theme_cache.file->get_size());
|
file_list->set_fixed_icon_size(_get_list_mode_icon_size());
|
||||||
}
|
}
|
||||||
|
|
||||||
dir_access->list_dir_begin();
|
dir_access->list_dir_begin();
|
||||||
|
|||||||
@@ -376,6 +376,7 @@ protected:
|
|||||||
virtual bool _should_use_native_popup() const;
|
virtual bool _should_use_native_popup() const;
|
||||||
virtual bool _should_hide_file(const String &p_file) const { return false; }
|
virtual bool _should_hide_file(const String &p_file) const { return false; }
|
||||||
virtual Color _get_folder_color(const String &p_path) const { return theme_cache.folder_icon_color; }
|
virtual Color _get_folder_color(const String &p_path) const { return theme_cache.folder_icon_color; }
|
||||||
|
virtual Vector2i _get_list_mode_icon_size() const;
|
||||||
|
|
||||||
virtual void _popup_base(const Rect2i &p_screen_rect = Rect2i()) override;
|
virtual void _popup_base(const Rect2i &p_screen_rect = Rect2i()) override;
|
||||||
void _clear_changed_status();
|
void _clear_changed_status();
|
||||||
|
|||||||
Reference in New Issue
Block a user