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