From 9368a82eaaf62bc4d66c6f7e2cc4b84b57024a04 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@digia.com>
Date: Tue, 18 Jun 2013 15:52:29 +0200
Subject: [PATCH] Qbs: Make use of buildSystemFiles

Change-Id: I1d7151cd0aa6388c5d7fe20dbc4ed2a154325e1a
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
---
 src/plugins/qbsprojectmanager/qbsproject.cpp | 16 +++++-----------
 src/plugins/qbsprojectmanager/qbsproject.h   |  2 +-
 src/shared/qbs                               |  2 +-
 3 files changed, 7 insertions(+), 13 deletions(-)

diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index d370e3659a..643e721898 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -120,7 +120,7 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
 
     connect(&m_parsingDelay, SIGNAL(timeout()), this, SLOT(parseCurrentBuildConfiguration()));
 
-    updateDocuments(0);
+    updateDocuments(QSet<QString>() << fileName);
     m_rootProjectNode = new QbsProjectNode(this); // needs documents to be initialized!
 }
 
@@ -282,7 +282,7 @@ void QbsProject::handleQbsParsingDone(bool success)
 
     m_rootProjectNode->update(project);
 
-    updateDocuments(m_rootProjectNode->qbsProjectData());
+    updateDocuments(project ? project->buildSystemFiles() : QSet<QString>() << m_fileName);
 
     updateCppCodeModel(m_rootProjectNode->qbsProjectData());
     updateQmlJsCodeModel(m_rootProjectNode->qbsProjectData());
@@ -465,17 +465,11 @@ void QbsProject::prepareForParsing()
     m_qbsUpdateFutureInterface->reportStarted();
 }
 
-void QbsProject::updateDocuments(const qbs::ProjectData *prj)
+void QbsProject::updateDocuments(const QSet<QString> &files)
 {
     // Update documents:
-    QSet<QString> newFiles;
-    newFiles.insert(m_fileName); // make sure we always have the project file...
-
-    if (prj) {
-        newFiles.insert(prj->location().fileName());
-        foreach (const qbs::ProductData &prd, prj->products())
-            newFiles.insert(prd.location().fileName());
-    }
+    QSet<QString> newFiles = files;
+    QTC_ASSERT(!newFiles.isEmpty(), newFiles << m_fileName);
     QSet<QString> oldFiles;
     foreach (Core::IDocument *doc, m_qbsDocuments)
         oldFiles.insert(doc->fileName());
diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h
index 7c3806a231..d657dc105b 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.h
+++ b/src/plugins/qbsprojectmanager/qbsproject.h
@@ -122,7 +122,7 @@ private:
 
     void generateErrors(const qbs::ErrorInfo &e);
     void prepareForParsing();
-    void updateDocuments(const qbs::ProjectData *prj);
+    void updateDocuments(const QSet<QString> &files);
     void updateCppCodeModel(const qbs::ProjectData *prj);
     void updateQmlJsCodeModel(const qbs::ProjectData *prj);
     QString qbsBuildDir() const;
diff --git a/src/shared/qbs b/src/shared/qbs
index 36c7dba4ae..22a2777a89 160000
--- a/src/shared/qbs
+++ b/src/shared/qbs
@@ -1 +1 @@
-Subproject commit 36c7dba4ae3688e354f6e6985b3da4429b9084fd
+Subproject commit 22a2777a898fdef6f2d5fc4f93a8c11682ecf4ea
-- 
GitLab