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 4706297356)
This commit is contained in:
Juan Linietsky 2021-03-23 11:20:14 -03:00 committed by Rémi Verschelde
parent 24e1ba1298
commit 16c0147d75
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 19 additions and 1 deletions

View File

@ -831,6 +831,21 @@ void FileSystemDock::_select_file(const String &p_path, bool p_select_in_favorit
fpath = fpath.substr(0, fpath.length() - 1); fpath = fpath.substr(0, fpath.length() - 1);
} }
} else if (fpath != "Favorites") { } else if (fpath != "Favorites") {
if (FileAccess::exists(fpath + ".import")) {
Ref<ConfigFile> 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") { if (ResourceLoader::get_resource_type(fpath) == "PackedScene") {
editor->open_request(fpath); editor->open_request(fpath);
} else { } else {
@ -2488,7 +2503,10 @@ void FileSystemDock::_update_import_dock() {
break; 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 == "") { if (import_type == "") {
import_type = type; import_type = type;
} else if (import_type != type) { } else if (import_type != type) {