From 136f58c164fa5380c4b07b68c4d72a51b4403e4d Mon Sep 17 00:00:00 2001
From: Tobias Hunger <tobias.hunger@digia.com>
Date: Wed, 26 Feb 2014 16:02:25 +0100
Subject: [PATCH] Nodes: Remove findFile and findFolder methods

There may be more than one matching node, so these methods provided
a false sense of reliability.

Change-Id: I6471b74a1d2dd4e8afc7e836fec45355696a0741
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
---
 src/plugins/projectexplorer/projectnodes.cpp | 18 ------------------
 src/plugins/projectexplorer/projectnodes.h   |  3 ---
 src/plugins/qbsprojectmanager/qbsnodes.cpp   | 18 ++++++++++++++++--
 3 files changed, 16 insertions(+), 23 deletions(-)

diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp
index 04066d750e3..622644cd248 100644
--- a/src/plugins/projectexplorer/projectnodes.cpp
+++ b/src/plugins/projectexplorer/projectnodes.cpp
@@ -313,24 +313,6 @@ void FolderNode::setIcon(const QIcon &icon)
     m_icon = icon;
 }
 
-FileNode *FolderNode::findFile(const QString &path)
-{
-    foreach (FileNode *n, fileNodes()) {
-        if (n->path() == path)
-            return n;
-    }
-    return 0;
-}
-
-FolderNode *FolderNode::findSubFolder(const QString &path)
-{
-    foreach (FolderNode *n, subFolderNodes()) {
-        if (n->path() == path)
-            return n;
-    }
-    return 0;
-}
-
 bool FolderNode::addFiles(const QStringList &filePaths, QStringList *notAdded)
 {
     if (projectNode())
diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h
index 6592bcd1667..f15de786bf5 100644
--- a/src/plugins/projectexplorer/projectnodes.h
+++ b/src/plugins/projectexplorer/projectnodes.h
@@ -174,9 +174,6 @@ public:
     void setDisplayName(const QString &name);
     void setIcon(const QIcon &icon);
 
-    FileNode *findFile(const QString &path);
-    FolderNode *findSubFolder(const QString &path);
-
     virtual bool addFiles(const QStringList &filePaths, QStringList *notAdded = 0);
     virtual bool removeFiles(const QStringList &filePaths, QStringList *notRemoved = 0);
     virtual bool deleteFiles(const QStringList &filePaths);
diff --git a/src/plugins/qbsprojectmanager/qbsnodes.cpp b/src/plugins/qbsprojectmanager/qbsnodes.cpp
index 5ad45828fde..8ea6551dcd3 100644
--- a/src/plugins/qbsprojectmanager/qbsnodes.cpp
+++ b/src/plugins/qbsprojectmanager/qbsnodes.cpp
@@ -424,7 +424,14 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root,
 
         // Handle files:
         if (c->isFile()) {
-            ProjectExplorer::FileNode *fn = root->findFile(path);
+            ProjectExplorer::FileNode *fn = 0;
+            foreach (ProjectExplorer::FileNode *f, root->fileNodes()) {
+                // There can be one match only here!
+                if (f->path() != path)
+                    continue;
+                fn = f;
+                break;
+            }
             if (fn) {
                 filesToRemove.removeOne(fn);
                 if (updateExisting)
@@ -435,7 +442,14 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root,
             }
             continue;
         } else {
-            FolderNode *fn = root->findSubFolder(c->path());
+            ProjectExplorer::FolderNode *fn = 0;
+            foreach (ProjectExplorer::FolderNode *f, root->subFolderNodes()) {
+                // There can be one match only here!
+                if (f->path() != path)
+                    continue;
+                fn = f;
+                break;
+            }
             if (!fn) {
                 fn = new FolderNode(c->path());
                 root->addFolderNodes(QList<FolderNode *>() << fn);
-- 
GitLab