diff options
author | Thakee Nathees <thakeenathees@gmail.com> | 2020-04-28 19:33:46 +0530 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2022-07-04 01:26:34 +0200 |
commit | 446f1b70522d86b9afe93b6543028cbab60ffb61 (patch) | |
tree | e5bc6891c5cabc76bb46787cb651410909f59069 | |
parent | 41fdddb1f8132dcba8256a145de44da5df3155b2 (diff) | |
download | redot-engine-446f1b70522d86b9afe93b6543028cbab60ffb61.tar.gz |
Fix FileDialog file name autocompletion with filters
Fixes #38195.
-rw-r--r-- | editor/editor_file_dialog.cpp | 4 | ||||
-rw-r--r-- | scene/gui/file_dialog.cpp | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index 95f72476aa..af1345b205 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -731,9 +731,9 @@ void EditorFileDialog::update_file_name() { String base_name = file_str.get_basename(); Vector<String> filter_substr = filter_str.split(";"); if (filter_substr.size() >= 2) { - file_str = base_name + "." + filter_substr[0].strip_edges().lstrip("*.").to_lower(); + file_str = base_name + "." + filter_substr[0].strip_edges().get_extension().to_lower(); } else { - file_str = base_name + "." + filter_str.get_extension().strip_edges().to_lower(); + file_str = base_name + "." + filter_str.strip_edges().get_extension().to_lower(); } file->set_text(file_str); } diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp index 73effa6c4b..6bb4ac9c6f 100644 --- a/scene/gui/file_dialog.cpp +++ b/scene/gui/file_dialog.cpp @@ -480,7 +480,12 @@ void FileDialog::update_file_name() { String filter_str = filters[idx]; String file_str = file->get_text(); String base_name = file_str.get_basename(); - file_str = base_name + "." + filter_str.strip_edges().to_lower(); + Vector<String> filter_substr = filter_str.split(";"); + if (filter_substr.size() >= 2) { + file_str = base_name + "." + filter_substr[0].strip_edges().get_extension().to_lower(); + } else { + file_str = base_name + "." + filter_str.strip_edges().get_extension().to_lower(); + } file->set_text(file_str); } } |