浏览代码

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.

(cherry picked from commit 2ccc9e14563977ae9707d6511727f5d6a20b0f9b)
Haoyu Qiu 2 年之前
父节点
当前提交
389045c691
共有 2 个文件被更改,包括 4 次插入0 次删除
  1. 3 0
      editor/editor_node.cpp
  2. 1 0
      editor/project_manager.cpp

+ 3 - 0
editor/editor_node.cpp

@@ -749,6 +749,9 @@ void EditorNode::_notification(int p_what) {
 
 
 		case EditorSettings::NOTIFICATION_EDITOR_SETTINGS_CHANGED: {
 		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());
 			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 =
 			bool theme_changed =
 					EditorSettings::get_singleton()->check_changed_settings_in_group("interface/theme") ||
 					EditorSettings::get_singleton()->check_changed_settings_in_group("interface/theme") ||

+ 1 - 0
editor/project_manager.cpp

@@ -2685,6 +2685,7 @@ ProjectManager::ProjectManager() {
 	DisplayServer::get_singleton()->window_set_title(VERSION_NAME + String(" - ") + TTR("Project Manager", "Application"));
 	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_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");
 	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.
 	if (swap_cancel_ok != 0) { // 0 is auto, set in register_scene based on DisplayServer.