aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/projectnodes.h
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2017-03-14 16:21:33 +0100
committerTobias Hunger <tobias.hunger@qt.io>2017-03-15 10:23:14 +0000
commit1621aaa26eff78f17ef3cbd61fed5a6ca859046b (patch)
tree5647139c80ea20b822e4e42150ac730b0fabae7f /src/plugins/projectexplorer/projectnodes.h
parent6e91fe5046dd87613062257b095104d5a33a8e1e (diff)
CMake: Fix some more SOFT-ASSERTS in CMake server-mode
Fix two more SOFT-ASSERTs in CMake server-mode that could be triggered by complex projects. Move and simplify search functionality into FolderNode and use that instead of hand-crafting a custom tree search in CMake. Change-Id: If4bde5c4a7ff84c7d5dba4f595e99b39f54ac8aa Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/projectnodes.h')
-rw-r--r--src/plugins/projectexplorer/projectnodes.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h
index 9ac9d678cc..03858db5e7 100644
--- a/src/plugins/projectexplorer/projectnodes.h
+++ b/src/plugins/projectexplorer/projectnodes.h
@@ -192,6 +192,9 @@ public:
QString displayName() const override;
QIcon icon() const;
+ Node *findNode(const std::function<bool(Node *)> &filter);
+ QList<Node *> findNodes(const std::function<bool(Node *)> &filter);
+
void forEachNode(const std::function<void(FileNode *)> &fileTask,
const std::function<void(FolderNode *)> &folderTask = {},
const std::function<bool(const FolderNode *)> &folderFilterTask = {}) const;