MCPcopy Create free account
hub / github.com/Codeya-IDE/deepin-ide / addFolderNode

Method addFolderNode

src/plugins/smartut/common/projectitemmodel.cpp:42–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

40}
41
42void ProjectItemModelPrivate::addFolderNode(NodeItem *parent, FolderNode *folderNode, QSet<Node *> *seen)
43{
44 for (Node *node : folderNode->nodes()) {
45 if (FolderNode *subFolderNode = node->asFolderNode()) {
46 int oldSize = seen->size();
47 seen->insert(subFolderNode);
48 if (seen->size() > oldSize) {
49 auto node = new NodeItem(subFolderNode);
50 parent->appendRow(node);
51 addFolderNode(node, subFolderNode, seen);
52 // TODO: sort
53 } else {
54 addFolderNode(parent, subFolderNode, seen);
55 }
56 } else if (FileNode *fileNode = node->asFileNode()) {
57 int oldSize = seen->size();
58 seen->insert(fileNode);
59 if (seen->size() > oldSize) {
60 auto node = new NodeItem(fileNode);
61 parent->appendRow(node);
62 }
63 }
64 }
65}
66
67void ProjectItemModelPrivate::syncProjectItems(NodeItem *targetItem, NodeItem *srcItem)
68{

Callers 2

setRootProjectNodeMethod · 0.80
updateProjectNodeMethod · 0.80

Calls 6

nodesMethod · 0.80
insertMethod · 0.80
asFolderNodeMethod · 0.45
sizeMethod · 0.45
appendRowMethod · 0.45
asFileNodeMethod · 0.45

Tested by

no test coverage detected