From 9719bcfd2e24954016ed3eef83d1b9ec730c8fc2 Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Fri, 26 May 2023 14:50:16 +0200 Subject: [PATCH] Core: Fix filter when selected is not registered Without this patch a warning will be triggered on Windows and the selected filter is not chosen on all platforms when saving a file, e.g. a json file. Change-Id: Id6de0eddcac83369596f68d50494f10b70c30b15 Reviewed-by: Eike Ziller Reviewed-by: --- src/plugins/coreplugin/documentmanager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/documentmanager.cpp b/src/plugins/coreplugin/documentmanager.cpp index 98ab6514119..b7b7ccfbe06 100644 --- a/src/plugins/coreplugin/documentmanager.cpp +++ b/src/plugins/coreplugin/documentmanager.cpp @@ -856,7 +856,7 @@ FilePath DocumentManager::getSaveFileNameWithExtension(const QString &title, con FilePath DocumentManager::getSaveAsFileName(const IDocument *document) { QTC_ASSERT(document, return {}); - const QString filter = allDocumentFactoryFiltersString(); + QString filter = allDocumentFactoryFiltersString(); const FilePath filePath = document->filePath(); QString selectedFilter; FilePath fileDialogPath = filePath; @@ -876,6 +876,9 @@ FilePath DocumentManager::getSaveAsFileName(const IDocument *document) if (selectedFilter.isEmpty()) selectedFilter = Utils::mimeTypeForName(document->mimeType()).filterString(); + if (!filter.contains(selectedFilter)) + filter.prepend(selectedFilter + QLatin1String(";;")); + return getSaveFileName(Tr::tr("Save File As"), fileDialogPath, filter,