forked from qt-creator/qt-creator
ProjectExplorer: Introduce some FolderNode convenience functions
... and use them. Change-Id: I9f5237e5eac30715c2effbd3301dd2a70516d2a9 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -281,13 +281,12 @@ void BuildDirManager::generateProjectTree(CMakeListsNode *root, const QList<cons
|
||||
|
||||
const Utils::FileName projectFile = m_buildConfiguration->target()->project()->projectFilePath();
|
||||
|
||||
root->makeEmpty();
|
||||
m_reader->generateProjectTree(root, allFiles);
|
||||
|
||||
// Make sure the top level CMakeLists.txt is always visible:
|
||||
if (root->fileNodes().isEmpty()
|
||||
&& root->folderNodes().isEmpty()
|
||||
&& root->projectNodes().isEmpty())
|
||||
root->addFileNodes({ new FileNode(projectFile, FileType::Project, false) });
|
||||
if (root->isEmpty())
|
||||
root->addFileNode(new FileNode(projectFile, FileType::Project, false));
|
||||
}
|
||||
|
||||
QSet<Core::Id> BuildDirManager::updateCodeModel(CppTools::ProjectPartBuilder &ppBuilder)
|
||||
|
||||
@@ -217,9 +217,6 @@ void CMakeBuildConfiguration::generateProjectTree(CMakeListsNode *root,
|
||||
if (!m_buildDirManager || m_buildDirManager->isParsing())
|
||||
return;
|
||||
|
||||
root->removeProjectNodes();
|
||||
root->setFolderNodes({});
|
||||
root->setFileNodes({});
|
||||
m_buildDirManager->generateProjectTree(root, allFiles);
|
||||
}
|
||||
|
||||
|
||||
@@ -231,7 +231,7 @@ FolderNode *setupCMakeVFolder(FolderNode *base, const Utils::FileName &basePath,
|
||||
if (!folder) {
|
||||
folder = new VirtualFolderNode(basePath, priority);
|
||||
folder->setDisplayName(displayName);
|
||||
base->addFolderNodes({ folder });
|
||||
base->addFolderNode(folder);
|
||||
}
|
||||
folder->buildTree(files);
|
||||
return folder;
|
||||
@@ -583,7 +583,7 @@ void ServerModeReader::updateCMakeLists(CMakeListsNode *root, const QList<FileNo
|
||||
FileNode *cmFn = cmln->fileNode(fn->filePath());
|
||||
if (!cmFn) {
|
||||
cmFn = fn;
|
||||
cmln->addFileNodes({ cmFn });
|
||||
cmln->addFileNode(cmFn);
|
||||
}
|
||||
// Update displayName of CMakeListsNode:
|
||||
const QString dn = prefix.isEmpty() ? k : k.mid(prefix.count() + 1);
|
||||
|
||||
Reference in New Issue
Block a user