Fix file extensions persisting in file dialog after export
This caused issues if one decided to export many formats in a row. The new file extension would be appended to the previous one. Now, the filename is retained without its extension for successive exports. Fixes #7291
This commit is contained in:
parent
71a3e71b61
commit
24fe3bd605
|
@ -717,6 +717,7 @@ void ProjectExportDialog::_export_project() {
|
||||||
|
|
||||||
export_project->set_access(FileDialog::ACCESS_FILESYSTEM);
|
export_project->set_access(FileDialog::ACCESS_FILESYSTEM);
|
||||||
export_project->clear_filters();
|
export_project->clear_filters();
|
||||||
|
export_project->set_current_file(default_filename);
|
||||||
String extension = platform->get_binary_extension();
|
String extension = platform->get_binary_extension();
|
||||||
if (extension != String()) {
|
if (extension != String()) {
|
||||||
export_project->add_filter("*." + extension + " ; " + platform->get_name() + " Export");
|
export_project->add_filter("*." + extension + " ; " + platform->get_name() + " Export");
|
||||||
|
@ -726,6 +727,9 @@ void ProjectExportDialog::_export_project() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectExportDialog::_export_project_to_path(const String &p_path) {
|
void ProjectExportDialog::_export_project_to_path(const String &p_path) {
|
||||||
|
// Save this name for use in future exports (but drop the file extension)
|
||||||
|
default_filename = p_path.get_basename().get_file();
|
||||||
|
EditorSettings::get_singleton()->set_project_metadata("export_options", "default_filename", default_filename);
|
||||||
|
|
||||||
Ref<EditorExportPreset> current = EditorExport::get_singleton()->get_export_preset(presets->get_current());
|
Ref<EditorExportPreset> current = EditorExport::get_singleton()->get_export_preset(presets->get_current());
|
||||||
ERR_FAIL_COND(current.is_null());
|
ERR_FAIL_COND(current.is_null());
|
||||||
|
@ -970,6 +974,8 @@ ProjectExportDialog::ProjectExportDialog() {
|
||||||
set_hide_on_ok(false);
|
set_hide_on_ok(false);
|
||||||
|
|
||||||
editor_icons = "EditorIcons";
|
editor_icons = "EditorIcons";
|
||||||
|
|
||||||
|
default_filename = EditorSettings::get_singleton()->get_project_metadata("export_options", "default_filename", String());
|
||||||
}
|
}
|
||||||
|
|
||||||
ProjectExportDialog::~ProjectExportDialog() {
|
ProjectExportDialog::~ProjectExportDialog() {
|
||||||
|
|
|
@ -99,6 +99,8 @@ private:
|
||||||
Label *export_error;
|
Label *export_error;
|
||||||
HBoxContainer *export_templates_error;
|
HBoxContainer *export_templates_error;
|
||||||
|
|
||||||
|
String default_filename;
|
||||||
|
|
||||||
void _patch_selected(const String &p_path);
|
void _patch_selected(const String &p_path);
|
||||||
void _patch_deleted();
|
void _patch_deleted();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue