forked from qt-creator/qt-creator
FolderNode: Add isAncesterOf(Node *)
Change-Id: I716593e7fd25f4acc31933e2f28273ced4674b73 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -496,6 +496,16 @@ void FolderNode::compress()
|
||||
}
|
||||
}
|
||||
|
||||
bool FolderNode::isAncesterOf(Node *n)
|
||||
{
|
||||
if (n == this)
|
||||
return true;
|
||||
FolderNode *p = n->parentFolderNode();
|
||||
while (p && p != this)
|
||||
p = p->parentFolderNode();
|
||||
return p == this;
|
||||
}
|
||||
|
||||
bool FolderNode::replaceSubtree(Node *oldNode, Node *newNode)
|
||||
{
|
||||
std::unique_ptr<Node> nn(newNode);
|
||||
|
||||
@@ -201,6 +201,8 @@ public:
|
||||
void buildTree(QList<FileNode *> &files, const Utils::FileName &overrideBaseDir = Utils::FileName());
|
||||
void compress();
|
||||
|
||||
bool isAncesterOf(Node *n);
|
||||
|
||||
// takes ownership of newNode.
|
||||
// Will delete newNode if oldNode is not a child of this node.
|
||||
bool replaceSubtree(Node *oldNode, Node *newNode);
|
||||
|
||||
Reference in New Issue
Block a user