Merge pull request #28701 from SonerSound/master

Export paths are now saved as relative paths
This commit is contained in:
Rémi Verschelde 2019-07-01 09:27:01 +02:00 committed by GitHub
commit bbb725836d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 3 deletions

View file

@ -208,7 +208,13 @@ EditorPropertyTextEnum::EditorPropertyTextEnum() {
void EditorPropertyPath::_path_selected(const String &p_path) { void EditorPropertyPath::_path_selected(const String &p_path) {
emit_changed(get_edited_property(), p_path); String final_path = p_path;
if (final_path.is_abs_path()) {
String res_path = OS::get_singleton()->get_resource_dir() + "/";
final_path = res_path.path_to_file(final_path);
}
emit_changed(get_edited_property(), final_path);
update_property(); update_property();
} }
void EditorPropertyPath::_path_pressed() { void EditorPropertyPath::_path_pressed() {
@ -221,6 +227,13 @@ void EditorPropertyPath::_path_pressed() {
} }
String full_path = get_edited_object()->get(get_edited_property()); String full_path = get_edited_object()->get(get_edited_property());
if (full_path.is_rel_path()) {
if (!DirAccess::exists(full_path.get_base_dir())) {
DirAccessRef da(DirAccess::create(DirAccess::ACCESS_FILESYSTEM));
da->make_dir_recursive(full_path.get_base_dir());
}
}
dialog->clear_filters(); dialog->clear_filters();

View file

@ -931,8 +931,17 @@ void ProjectExportDialog::_export_project() {
export_project->add_filter("*." + extension_list[i] + " ; " + platform->get_name() + " Export"); export_project->add_filter("*." + extension_list[i] + " ; " + platform->get_name() + " Export");
} }
if (current->get_export_path() != "") { String current_preset_export_path = current->get_export_path();
export_project->set_current_path(current->get_export_path());
if (current_preset_export_path != "") {
if (!DirAccess::exists(current_preset_export_path.get_base_dir())) {
DirAccessRef da(DirAccess::create(DirAccess::ACCESS_FILESYSTEM));
da->make_dir_recursive(current_preset_export_path.get_base_dir());
}
export_project->set_current_path(current_preset_export_path);
} else { } else {
if (extension_list.size() >= 1) { if (extension_list.size() >= 1) {
export_project->set_current_file(default_filename + "." + extension_list[0]); export_project->set_current_file(default_filename + "." + extension_list[0]);