From e26150de55085042a8275814c72bd6ed8bc3f398 Mon Sep 17 00:00:00 2001 From: Zhang Sheng Date: Wed, 27 Mar 2024 17:04:21 +0800 Subject: [PATCH] fix: [filedialog] filename error when save Use only suffixes after the last dot Log: fix filename error when save Bug: https://pms.uniontech.com/bug-view-246943.html --- .../filedialog/filedialogplugin-core/views/filedialog.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/plugins/filedialog/filedialogplugin-core/views/filedialog.cpp b/src/plugins/filedialog/filedialogplugin-core/views/filedialog.cpp index 9ee94a5c94..8db3215719 100644 --- a/src/plugins/filedialog/filedialogplugin-core/views/filedialog.cpp +++ b/src/plugins/filedialog/filedialogplugin-core/views/filedialog.cpp @@ -777,9 +777,10 @@ void FileDialog::selectNameFilterByIndex(int index) QStringList newNameFilters = QPlatformFileDialogHelper::cleanFilterList(nameFilter); if (d->acceptMode == QFileDialog::AcceptSave && !newNameFilters.isEmpty()) { - DFMBASE_NAMESPACE::DMimeDatabase db; QString fileName = statusBar()->lineEdit()->text(); - const QString fileNameExtension = db.suffixForFileName(fileName); + DFMBASE_NAMESPACE::DMimeDatabase db; + int dotIndex = fileName.lastIndexOf("."); + const QString &fileNameExtension = dotIndex > 0 ? fileName.mid(dotIndex + 1) : db.suffixForFileName(fileName); QString newNameFilterExtension { CoreHelper::findExtensioName(fileName, newNameFilters, &db) }; if (!newNameFilters.isEmpty())