From 9c07e7ea7c0542928ee1a27fc21349d633b0c608 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Mon, 20 Nov 2023 13:36:06 +0100 Subject: [PATCH] PE: Close generated files silently if they have an editor Omits the original request whether to save a modified file if the files are opened inside QC, but it ensures to format the correct file content instead of using some cached content. Fixes: QTCREATORBUG-29904 Change-Id: I3b3f3e53fb811288a208376559243bea01d0d4a4 Reviewed-by: Eike Ziller --- src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp index b7207ce45ef..17fc1e736c0 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizard.cpp @@ -11,6 +11,7 @@ #include "../projectexplorertr.h" #include "../projecttree.h" +#include #include #include #include @@ -351,6 +352,14 @@ void JsonWizard::accept() return; } + const QList documentsToClose + = transform(m_files, [](const GeneratorFile &file) -> Core::IDocument * { + if ((file.file.attributes() & Core::GeneratedFile::OpenEditorAttribute) == 0) + return nullptr; + return Core::DocumentModel::documentForFilePath(file.file.filePath()); + }); + Core::EditorManager::closeDocuments(documentsToClose, /*askAboutModifiedEditors=*/false); + emit preWriteFiles(m_files); if (!JsonWizardGenerator::writeFiles(this, &m_files, &errorMessage)) { if (!errorMessage.isEmpty())