From 32a0acb1cfbebf288833064e14dcd1063e7e2046 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@digia.com>
Date: Thu, 2 May 2013 15:29:33 +0200
Subject: [PATCH] QmlProject: Update code model when target changes

Change-Id: Ia8008748fb4d35507729c6ae684913e8bf72c985
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
---
 src/plugins/qmlprojectmanager/qmlproject.cpp | 9 +++++++++
 src/plugins/qmlprojectmanager/qmlproject.h   | 1 +
 2 files changed, 10 insertions(+)

diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp
index 4c4b6a4f39f..0e11f66206f 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.cpp
+++ b/src/plugins/qmlprojectmanager/qmlproject.cpp
@@ -148,6 +148,12 @@ void QmlProject::addedTarget(ProjectExplorer::Target *target)
         addedRunConfiguration(rc);
 }
 
+void QmlProject::onActiveTargetChanged(ProjectExplorer::Target * /*target*/)
+{
+    // make sure e.g. the default qml imports are adapted
+    refresh(Configuration);
+}
+
 void QmlProject::addedRunConfiguration(ProjectExplorer::RunConfiguration *rc)
 {
     // The enabled state of qml runconfigurations can only be decided after
@@ -408,6 +414,9 @@ bool QmlProject::fromMap(const QVariantMap &map)
     connect(this, SIGNAL(addedTarget(ProjectExplorer::Target*)),
             this, SLOT(addedTarget(ProjectExplorer::Target*)));
 
+    connect(this, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)),
+            this, SLOT(onActiveTargetChanged(ProjectExplorer::Target*)));
+
     return true;
 }
 
diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h
index 4969390cee5..cc34f18f65e 100644
--- a/src/plugins/qmlprojectmanager/qmlproject.h
+++ b/src/plugins/qmlprojectmanager/qmlproject.h
@@ -98,6 +98,7 @@ public:
 private slots:
     void refreshFiles(const QSet<QString> &added, const QSet<QString> &removed);
     void addedTarget(ProjectExplorer::Target *target);
+    void onActiveTargetChanged(ProjectExplorer::Target *target);
     void addedRunConfiguration(ProjectExplorer::RunConfiguration *);
 
 protected:
-- 
GitLab