ProjectExplorer: Use visitor-by-lambda for project tree

And inline it into user code. Less code in total and no intermediate
node lists.

Change-Id: I3724883408bfaa868266110aee27bbffd4d96bd8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
hjk
2017-03-06 18:03:43 +01:00
parent 05e8f34d3e
commit d6df4492d0
15 changed files with 55 additions and 321 deletions

View File

@@ -25,7 +25,6 @@
#include "projectnodes.h"
#include "nodesvisitor.h"
#include "projectexplorerconstants.h"
#include "projecttree.h"
@@ -58,7 +57,7 @@ namespace ProjectExplorer {
A Visitor can be used to traverse all Projects and other Folders.
\sa ProjectExplorer::FileNode, ProjectExplorer::FolderNode, ProjectExplorer::ProjectNode
\sa ProjectExplorer::NodesWatcher, ProjectExplorer::NodesVisitor
\sa ProjectExplorer::NodesWatcher
*/
Node::Node(NodeType nodeType, const Utils::FileName &filePath, int line) :
@@ -516,15 +515,6 @@ void FolderNode::compress()
}
}
void FolderNode::accept(NodesVisitor *visitor)
{
visitor->visitFolderNode(this);
for (Node *n : m_nodes) {
if (FolderNode *subFolder = n->asFolderNode())
subFolder->accept(visitor);
}
}
void FolderNode::setDisplayName(const QString &name)
{
if (m_displayName == name)