diff options
author | hjk <hjk@qt.io> | 2017-03-10 17:30:40 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2017-03-14 12:26:22 +0000 |
commit | 4d8352a6c177ecfc609d6bc7fefbfcd00204b0f6 (patch) | |
tree | 5826fb60a5cd31630238f9fca0d3ed0e7769b3c1 /src/plugins/projectexplorer/projectnodes.cpp | |
parent | 7428aa9cec41823cd77f58a5dc8c0b4d7b530811 (diff) | |
download | qt-creator-4d8352a6c177ecfc609d6bc7fefbfcd00204b0f6.tar.gz |
ProjectExplorer: Add a FolderNode::addNestedNode() function
Also, rename buildTree() to addNestedNodes(), it's really
adding things, not recompletely (re-)building the subtree.
Use it whenever possible to avoid intermediate lists of items
to insert.
Change-Id: I5fde41e5b164a8a292410bd381a85f5efadf3471
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/projectnodes.cpp')
-rw-r--r-- | src/plugins/projectexplorer/projectnodes.cpp | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index 87a759efea..604d73cb16 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -468,16 +468,20 @@ QList<FolderNode*> FolderNode::folderNodes() const return result; } -void FolderNode::buildTree(QList<FileNode *> &files, const Utils::FileName &overrideBaseDir) -{ - foreach (ProjectExplorer::FileNode *fn, files) { - // Get relative path to rootNode - QString parentDir = fn->filePath().toFileInfo().absolutePath(); - ProjectExplorer::FolderNode *folder - = recursiveFindOrCreateFolderNode(this, Utils::FileName::fromString(parentDir), - overrideBaseDir); - folder->addNode(fn); - } +void FolderNode::addNestedNode(FileNode *fileNode, const Utils::FileName &overrideBaseDir) +{ + // Get relative path to rootNode + QString parentDir = fileNode->filePath().toFileInfo().absolutePath(); + FolderNode *folder = recursiveFindOrCreateFolderNode(this, Utils::FileName::fromString(parentDir), + overrideBaseDir); + folder->addNode(fileNode); + +} + +void FolderNode::addNestedNodes(QList<FileNode *> &files, const Utils::FileName &overrideBaseDir) +{ + for (FileNode *fn : files) + addNestedNode(fn, overrideBaseDir); } // "Compress" a tree of foldernodes such that foldernodes with exactly one foldernode as a child |