From 66088a799adbdfadaa3cb3f18a004890df39a111 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 14 Jan 2016 12:49:38 +0100 Subject: [PATCH] EditorManager: Remove unnecessary use of defaultPath() in saveDocumentAs Do not unnecessarily construct a path with document->defaultPath(). We can just ask for the mime type(s) for the suggestedFileName without a path. Change-Id: I1354756bd7760561a2bd9d39f491c5e1b6aeb3ab Reviewed-by: David Schulz --- .../coreplugin/editormanager/editormanager.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 0e71d9aaa36..7dcd49e7c41 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -1926,11 +1926,17 @@ bool EditorManagerPrivate::saveDocumentAs(IDocument *document) Utils::MimeDatabase mdb; const QString filter = Utils::MimeDatabase::allFiltersString(); QString selectedFilter; - QString filePath = document->filePath().toString(); - if (filePath.isEmpty()) - filePath = document->defaultPath() + QLatin1Char('/') + document->suggestedFileName(); - if (!filePath.isEmpty()) + const QString filePath = document->filePath().toString(); + if (!filePath.isEmpty()) { selectedFilter = mdb.mimeTypeForFile(filePath).filterString(); + } else { + const QString suggestedName = document->suggestedFileName(); + if (!suggestedName.isEmpty()) { + const QList types = mdb.mimeTypesForFileName(suggestedName); + if (!types.isEmpty()) + selectedFilter = types.first().filterString(); + } + } if (selectedFilter.isEmpty()) selectedFilter = mdb.mimeTypeForName(document->mimeType()).filterString(); const QString &absoluteFilePath =