diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp index a226ca6400f..4aec1f02049 100644 --- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.cpp @@ -182,8 +182,6 @@ void QmakePriFile::finishInitialization(QmakeBuildSystem *buildSystem, QmakeProF QTC_ASSERT(buildSystem, return); m_buildSystem = buildSystem; m_qmakeProFile = qmakeProFile; - m_priFileDocument = std::make_unique(this, filePath()); - Core::DocumentManager::addDocument(m_priFileDocument.get()); } FilePath QmakePriFile::filePath() const diff --git a/src/plugins/qmakeprojectmanager/qmakeparsernodes.h b/src/plugins/qmakeprojectmanager/qmakeparsernodes.h index 9a5977348af..0812e162550 100644 --- a/src/plugins/qmakeprojectmanager/qmakeparsernodes.h +++ b/src/plugins/qmakeprojectmanager/qmakeparsernodes.h @@ -236,7 +236,6 @@ private: QmakePriFile *m_parent = nullptr; QVector m_children; - std::unique_ptr m_priFileDocument; Utils::TextFileFormat m_textFormat; // Memory is cheap... diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp index ca2a977258f..91987e2574f 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp +++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp @@ -259,6 +259,15 @@ void QmakeBuildSystem::updateCodeModels() updateQmlJSCodeModel(); } +void QmakeBuildSystem::updateDocuments() +{ + QVector projectDocuments; + project()->rootProjectNode()->forEachProjectNode([&projectDocuments](const ProjectNode *n) { + projectDocuments << n->filePath(); + }); + project()->setExtraProjectFiles(projectDocuments); +} + void QmakeBuildSystem::updateCppCodeModel() { m_toolChainWarnings.clear(); @@ -528,6 +537,7 @@ void QmakeBuildSystem::decrementPendingEvaluateFutures() m_asyncUpdateState = Base; updateBuildSystemData(); updateCodeModels(); + updateDocuments(); target()->updateDefaultDeployConfigurations(); m_guard.markAsSuccess(); // Qmake always returns (some) data, even when it failed:-) m_guard = {}; // This triggers emitParsingFinished by destroying the previous guard. diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.h b/src/plugins/qmakeprojectmanager/qmakeproject.h index 8c138e54994..04cad72c690 100644 --- a/src/plugins/qmakeprojectmanager/qmakeproject.h +++ b/src/plugins/qmakeprojectmanager/qmakeproject.h @@ -151,6 +151,7 @@ public: bool wasEvaluateCanceled(); void updateCodeModels(); + void updateDocuments(); void watchFolders(const QStringList &l, QmakePriFile *file); void unwatchFolders(const QStringList &l, QmakePriFile *file);