Merge pull request #26930 from qarmin/fix_delete_project_settings_properties

Fix deleting properties after deleting files
This commit is contained in:
Rémi Verschelde 2019-04-05 16:44:40 +02:00 committed by GitHub
commit 769b2ba385
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -496,14 +496,28 @@ void DependencyRemoveDialog::ok_pressed() {
res->set_path(""); res->set_path("");
} }
// If the file we are deleting is the main scene or default environment, clear its definition. // If the file we are deleting for e.g. the main scene or default environment, we must clear its definition in Project Settings.
if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/config/icon")) {
ProjectSettings::get_singleton()->set("application/config/icon", "");
}
if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/run/main_scene")) { if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/run/main_scene")) {
ProjectSettings::get_singleton()->set("application/run/main_scene", ""); ProjectSettings::get_singleton()->set("application/run/main_scene", "");
} }
if (files_to_delete[i] == ProjectSettings::get_singleton()->get("application/boot_splash/image")) {
ProjectSettings::get_singleton()->set("application/boot_splash/image", "");
}
if (files_to_delete[i] == ProjectSettings::get_singleton()->get("rendering/environment/default_environment")) { if (files_to_delete[i] == ProjectSettings::get_singleton()->get("rendering/environment/default_environment")) {
ProjectSettings::get_singleton()->set("rendering/environment/default_environment", ""); ProjectSettings::get_singleton()->set("rendering/environment/default_environment", "");
} }
if (files_to_delete[i] == ProjectSettings::get_singleton()->get("display/mouse_cursor/custom_image")) {
ProjectSettings::get_singleton()->set("display/mouse_cursor/custom_image", "");
}
if (files_to_delete[i] == ProjectSettings::get_singleton()->get("gui/theme/custom")) {
ProjectSettings::get_singleton()->set("gui/theme/custom", "");
}
if (files_to_delete[i] == ProjectSettings::get_singleton()->get("gui/theme/custom_font")) {
ProjectSettings::get_singleton()->set("gui/theme/custom_font", "");
}
String path = OS::get_singleton()->get_resource_dir() + files_to_delete[i].replace_first("res://", "/"); String path = OS::get_singleton()->get_resource_dir() + files_to_delete[i].replace_first("res://", "/");
print_verbose("Moving to trash: " + path); print_verbose("Moving to trash: " + path);