aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/projectnodes.h
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@qt.io>2017-03-13 18:13:47 +0100
committerTobias Hunger <tobias.hunger@qt.io>2017-03-15 10:22:24 +0000
commitb8417e0f0c57b2646c190bdb177b8e9a61e1ee41 (patch)
tree938be986e4a310d76efc59914efeefecb8a4a2ca /src/plugins/projectexplorer/projectnodes.h
parentb3238d57361bde667ea890b60a04c075eec2e952 (diff)
CMake: Fix projects with complex CMakeLists.txt layouts
This fixes soft assserts in e.g. Musescore. Change-Id: I860c8c184161e53918fb901d66b89cffb0c09e23 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/projectnodes.h')
-rw-r--r--src/plugins/projectexplorer/projectnodes.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/projectexplorer/projectnodes.h b/src/plugins/projectexplorer/projectnodes.h
index aa5b9e397f..9ac9d678cc 100644
--- a/src/plugins/projectexplorer/projectnodes.h
+++ b/src/plugins/projectexplorer/projectnodes.h
@@ -200,8 +200,11 @@ public:
QList<FileNode *> fileNodes() const;
FileNode *fileNode(const Utils::FileName &file) const;
QList<FolderNode *> folderNodes() const;
- void addNestedNodes(QList<FileNode *> &files, const Utils::FileName &overrideBaseDir = Utils::FileName());
- void addNestedNode(FileNode *fileNode, const Utils::FileName &overrideBaseDir = Utils::FileName());
+ using FolderNodeFactory = std::function<FolderNode *(const Utils::FileName &)>;
+ void addNestedNodes(const QList<FileNode *> &files, const Utils::FileName &overrideBaseDir = Utils::FileName(),
+ const FolderNodeFactory &factory = [](const Utils::FileName &fn) { return new FolderNode(fn); });
+ void addNestedNode(FileNode *fileNode, const Utils::FileName &overrideBaseDir = Utils::FileName(),
+ const FolderNodeFactory &factory = [](const Utils::FileName &fn) { return new FolderNode(fn); });
void compress();
bool isAncesterOf(Node *n);