mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
Export: Properly reload preset when opening dialog
Fixes #20119 where newly installed templates were not detected. Also fix a bug with preset deletion where it would attempt to edit an already removed preset. For this I made it so that ItemList::deselect_all() also resets `current` to -1, as a manual ItemList::deselect(idx) already does.
This commit is contained in:
@@ -76,6 +76,9 @@ void ProjectExportDialog::popup_export() {
|
||||
}
|
||||
|
||||
_update_presets();
|
||||
if (presets->get_current() >= 0) {
|
||||
_edit_preset(presets->get_current()); // triggers rescan for templates if newly installed
|
||||
}
|
||||
|
||||
// Restore valid window bounds or pop up at default size.
|
||||
if (EditorSettings::get_singleton()->has_setting("interface/dialogs/export_bounds")) {
|
||||
@@ -154,7 +157,6 @@ void ProjectExportDialog::_update_presets() {
|
||||
|
||||
if (current_idx != -1) {
|
||||
presets->select(current_idx);
|
||||
//_edit_preset(current_idx);
|
||||
}
|
||||
|
||||
updating = false;
|
||||
@@ -167,6 +169,7 @@ void ProjectExportDialog::_edit_preset(int p_index) {
|
||||
name->set_editable(false);
|
||||
runnable->set_disabled(true);
|
||||
parameters->edit(NULL);
|
||||
presets->unselect_all();
|
||||
delete_preset->set_disabled(true);
|
||||
sections->hide();
|
||||
patches->clear();
|
||||
@@ -438,11 +441,9 @@ void ProjectExportDialog::_delete_preset() {
|
||||
void ProjectExportDialog::_delete_preset_confirm() {
|
||||
|
||||
int idx = presets->get_current();
|
||||
parameters->edit(NULL); //to avoid crash
|
||||
_edit_preset(-1);
|
||||
EditorExport::get_singleton()->remove_export_preset(idx);
|
||||
_update_presets();
|
||||
_edit_preset(presets->get_current());
|
||||
}
|
||||
|
||||
Variant ProjectExportDialog::get_drag_data_fw(const Point2 &p_point, Control *p_from) {
|
||||
|
||||
Reference in New Issue
Block a user