| 40 | } |
| 41 | |
| 42 | void 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 | |
| 67 | void ProjectItemModelPrivate::syncProjectItems(NodeItem *targetItem, NodeItem *srcItem) |
| 68 | { |
no test coverage detected