From 2ccc9e14563977ae9707d6511727f5d6a20b0f9b Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Tue, 25 Apr 2023 08:57:22 +0800 Subject: [PATCH] Fix inconsistent file dialog settings usage * Project Manager ignores display mode settings. * EditorFileDialog's default display mode and show hidden files settings are not updated when corresponding editor settings change. --- editor/editor_node.cpp | 3 +++ editor/project_manager.cpp | 1 + 2 files changed, 4 insertions(+) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index f2f12857999d..5be100f0025a 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -747,6 +747,9 @@ void EditorNode::_notification(int p_what) { case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: { scene_tabs->set_tab_close_display_policy((TabBar::CloseButtonDisplayPolicy)EDITOR_GET("interface/scene_tabs/display_close_button").operator int()); + FileDialog::set_default_show_hidden_files(EDITOR_GET("filesystem/file_dialog/show_hidden_files")); + EditorFileDialog::set_default_show_hidden_files(EDITOR_GET("filesystem/file_dialog/show_hidden_files")); + EditorFileDialog::set_default_display_mode((EditorFileDialog::DisplayMode)EDITOR_GET("filesystem/file_dialog/display_mode").operator int()); bool theme_changed = EditorSettings::get_singleton()->check_changed_settings_in_group("interface/theme") || diff --git a/editor/project_manager.cpp b/editor/project_manager.cpp index 4dd2237b4ffd..da55b15b0b65 100644 --- a/editor/project_manager.cpp +++ b/editor/project_manager.cpp @@ -2602,6 +2602,7 @@ ProjectManager::ProjectManager() { DisplayServer::get_singleton()->window_set_title(VERSION_NAME + String(" - ") + TTR("Project Manager", "Application")); EditorFileDialog::set_default_show_hidden_files(EDITOR_GET("filesystem/file_dialog/show_hidden_files")); + EditorFileDialog::set_default_display_mode((EditorFileDialog::DisplayMode)EDITOR_GET("filesystem/file_dialog/display_mode").operator int()); int swap_cancel_ok = EDITOR_GET("interface/editor/accept_dialog_cancel_ok_buttons"); if (swap_cancel_ok != 0) { // 0 is auto, set in register_scene based on DisplayServer.