forked from qt-creator/qt-creator
ProjectNodes: Move (add|remove)(File|Folder)Node to FolderNode
The reason they were on ProjectNode is that the signals are emitted on the projectnode, but since I moved addFiles and others to FolderNode, this makes more sense. Change-Id: I918ca4d93dab78c8bb93dff03f53d1a6fbe21340 Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
@@ -459,18 +459,18 @@ void CMakeProject::buildTree(CMakeProjectNode *rootNode, QList<ProjectExplorer::
|
||||
// Get relative path to rootNode
|
||||
QString parentDir = QFileInfo(fn->path()).absolutePath();
|
||||
ProjectExplorer::FolderNode *folder = findOrCreateFolder(rootNode, parentDir);
|
||||
rootNode->addFileNodes(QList<ProjectExplorer::FileNode *>()<< fn, folder);
|
||||
folder->addFileNodes(QList<ProjectExplorer::FileNode *>()<< fn);
|
||||
}
|
||||
|
||||
// remove old file nodes and check whether folder nodes can be removed
|
||||
foreach (ProjectExplorer::FileNode *fn, deleted) {
|
||||
ProjectExplorer::FolderNode *parent = fn->parentFolderNode();
|
||||
// qDebug()<<"removed"<<fn->path();
|
||||
rootNode->removeFileNodes(QList<ProjectExplorer::FileNode *>() << fn, parent);
|
||||
parent->removeFileNodes(QList<ProjectExplorer::FileNode *>() << fn);
|
||||
// Check for empty parent
|
||||
while (parent->subFolderNodes().isEmpty() && parent->fileNodes().isEmpty()) {
|
||||
ProjectExplorer::FolderNode *grandparent = parent->parentFolderNode();
|
||||
rootNode->removeFolderNodes(QList<ProjectExplorer::FolderNode *>() << parent, grandparent);
|
||||
grandparent->removeFolderNodes(QList<ProjectExplorer::FolderNode *>() << parent);
|
||||
parent = grandparent;
|
||||
if (parent == rootNode)
|
||||
break;
|
||||
@@ -501,7 +501,7 @@ ProjectExplorer::FolderNode *CMakeProject::findOrCreateFolder(CMakeProjectNode *
|
||||
// No FolderNode yet, so create it
|
||||
ProjectExplorer::FolderNode *tmp = new ProjectExplorer::FolderNode(path);
|
||||
tmp->setDisplayName(part);
|
||||
rootNode->addFolderNodes(QList<ProjectExplorer::FolderNode *>() << tmp, parent);
|
||||
parent->addFolderNodes(QList<ProjectExplorer::FolderNode *>() << tmp);
|
||||
parent = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user