From ceb9319e4bbbc849ebed8f6103bc8710ff7e4b79 Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@digia.com>
Date: Mon, 1 Oct 2012 11:46:36 +0200
Subject: [PATCH] Offer to import builds not done by this Qt Creator instance

Change-Id: I7dd8d3b8ae919808fd7089079dcd5583ebc89913
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
---
 .../qt4projectmanager/wizards/targetsetuppage.cpp | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
index fa822d067fb..350030eccb5 100644
--- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
+++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
@@ -511,20 +511,25 @@ void TargetSetupPage::setupImports()
     if (!m_importSearch || m_proFilePath.isEmpty())
         return;
 
-    QString sourceDir = QFileInfo(m_proFilePath).absolutePath();
-    import(Utils::FileName::fromString(sourceDir), true);
+    QFileInfo pfi(m_proFilePath);
+    const QString prefix = pfi.baseName();
+    QStringList toImport;
+    toImport << pfi.absolutePath();
 
     QList<ProjectExplorer::Kit *> kitList = ProjectExplorer::KitManager::instance()->kits();
     foreach (ProjectExplorer::Kit *k, kitList) {
         QFileInfo fi(Qt4Project::shadowBuildDirectory(m_proFilePath, k, QString()));
         const QString baseDir = fi.absolutePath();
-        const QString prefix = fi.baseName();
 
         foreach (const QString &dir, QDir(baseDir).entryList()) {
-            if (dir.startsWith(prefix))
-                import(Utils::FileName::fromString(baseDir + QLatin1Char('/') + dir), true);
+            const QString path = baseDir + QLatin1Char('/') + dir;
+            if (dir.startsWith(prefix) && !toImport.contains(path))
+                toImport << path;
+
         }
     }
+    foreach (const QString &path, toImport)
+        import(Utils::FileName::fromString(path), true);
 }
 
 void TargetSetupPage::handleKitAddition(ProjectExplorer::Kit *k)
-- 
GitLab