1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-08 12:40:44 +00:00

Fix extensions when saving resource as

This commit is contained in:
kobewi
2024-12-03 22:54:54 +01:00
parent 47bc374edf
commit b0cee57d81

View File

@@ -1427,7 +1427,7 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String
if (p_resource->get_path().is_resource_file()) { if (p_resource->get_path().is_resource_file()) {
file->set_current_file(p_resource->get_path().get_file()); file->set_current_file(p_resource->get_path().get_file());
} else { } else {
if (extensions.size()) { if (!preferred.is_empty()) {
String resource_name_snake_case = p_resource->get_class().to_snake_case(); String resource_name_snake_case = p_resource->get_class().to_snake_case();
file->set_current_file("new_" + resource_name_snake_case + "." + preferred.front()->get().to_lower()); file->set_current_file("new_" + resource_name_snake_case + "." + preferred.front()->get().to_lower());
} else { } else {
@@ -1436,18 +1436,15 @@ void EditorNode::save_resource_as(const Ref<Resource> &p_resource, const String
} }
} else if (!p_resource->get_path().is_empty()) { } else if (!p_resource->get_path().is_empty()) {
file->set_current_path(p_resource->get_path()); file->set_current_path(p_resource->get_path());
if (extensions.size()) { if (!extensions.is_empty()) {
String ext = p_resource->get_path().get_extension().to_lower(); const String ext = p_resource->get_path().get_extension().to_lower();
if (extensions.find(ext) == nullptr) { if (extensions.find(ext) == nullptr) {
file->set_current_path(p_resource->get_path().replacen("." + ext, "." + extensions.front()->get())); file->set_current_path(p_resource->get_path().replacen("." + ext, "." + extensions.front()->get()));
} }
} }
} else if (preferred.size()) { } else if (!preferred.is_empty()) {
String existing; const String resource_name_snake_case = p_resource->get_class().to_snake_case();
if (extensions.size()) { const String existing = "new_" + resource_name_snake_case + "." + preferred.front()->get().to_lower();
String resource_name_snake_case = p_resource->get_class().to_snake_case();
existing = "new_" + resource_name_snake_case + "." + preferred.front()->get().to_lower();
}
file->set_current_path(existing); file->set_current_path(existing);
} }
file->set_title(TTR("Save Resource As...")); file->set_title(TTR("Save Resource As..."));