From 16c0147d758b401c32c4dbeab4b8265a2c6e37fc Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Tue, 23 Mar 2021 11:20:14 -0300 Subject: [PATCH] Remove FileSystem dock errors on unimported files * Removes error shown when file is in 'keep' mode * Display a warning when attempting to open the file * Closes #47296 (cherry picked from commit 4706297356a73f47cc071d46964bc8ce3b97cbba) --- editor/filesystem_dock.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 5566f152d1c..58afb5b76ae 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -831,6 +831,21 @@ void FileSystemDock::_select_file(const String &p_path, bool p_select_in_favorit fpath = fpath.substr(0, fpath.length() - 1); } } else if (fpath != "Favorites") { + if (FileAccess::exists(fpath + ".import")) { + Ref config; + config.instance(); + Error err = config->load(fpath + ".import"); + if (err == OK) { + if (config->has_section_key("remap", "importer")) { + String importer = config->get_value("remap", "importer"); + if (importer == "keep") { + EditorNode::get_singleton()->show_warning(TTR("Importing has been disabled for this file, so it can't be opened for editing.")); + return; + } + } + } + } + if (ResourceLoader::get_resource_type(fpath) == "PackedScene") { editor->open_request(fpath); } else { @@ -2488,7 +2503,10 @@ void FileSystemDock::_update_import_dock() { break; } - String type = cf->get_value("remap", "type"); + String type; + if (cf->has_section_key("remap", "type")) { + type = cf->get_value("remap", "type"); + } if (import_type == "") { import_type = type; } else if (import_type != type) {