ProjectExplorer: Nodes: Do not makeEmpty() as part of buildTree()

Do not call makeEmpty() as part of buildTree(). That makes it
impossible to combine buildTree with manual tree setup.

Change-Id: If0a0d9432fe39870917a6ba31594e8dcd6d31868
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Tobias Hunger
2017-02-20 10:33:47 +01:00
committed by hjk
parent 919ba9a925
commit 9e8b427a70
5 changed files with 4 additions and 2 deletions

View File

@@ -229,6 +229,7 @@ void AutotoolsProject::makefileParsingFinished()
f == QLatin1String("configure.ac")) ? FileType::Project : FileType::Resource, f == QLatin1String("configure.ac")) ? FileType::Project : FileType::Resource,
false); false);
}); });
rootProjectNode()->makeEmpty();
rootProjectNode()->buildTree(fileNodes); rootProjectNode()->buildTree(fileNodes);
updateCppCodeModel(); updateCppCodeModel();

View File

@@ -282,6 +282,7 @@ void GenericProject::refresh(RefreshOptions options)
FileType::Project, FileType::Project,
/* generated = */ false); /* generated = */ false);
fileNodes << projectFilesNode << projectIncludesNode << projectConfigNode; fileNodes << projectFilesNode << projectIncludesNode << projectConfigNode;
rootProjectNode()->makeEmpty();
rootProjectNode()->buildTree(fileNodes); rootProjectNode()->buildTree(fileNodes);
} }

View File

@@ -159,6 +159,7 @@ void NimProject::updateProject()
if (oldFiles == m_files) if (oldFiles == m_files)
return; return;
rootProjectNode()->makeEmpty();
rootProjectNode()->buildTree(fileNodes); rootProjectNode()->buildTree(fileNodes);
emit fileListChanged(); emit fileListChanged();

View File

@@ -478,8 +478,6 @@ FolderNode *FolderNode::recursiveFindOrCreateFolderNode(const Utils::FileName &d
void FolderNode::buildTree(QList<FileNode *> &files, const Utils::FileName &overrideBaseDir) void FolderNode::buildTree(QList<FileNode *> &files, const Utils::FileName &overrideBaseDir)
{ {
makeEmpty();
foreach (ProjectExplorer::FileNode *fn, files) { foreach (ProjectExplorer::FileNode *fn, files) {
// Get relative path to rootNode // Get relative path to rootNode
QString parentDir = fn->filePath().toFileInfo().absolutePath(); QString parentDir = fn->filePath().toFileInfo().absolutePath();

View File

@@ -618,6 +618,7 @@ void PythonProject::refresh()
const QString displayName = baseDir.relativeFilePath(f); const QString displayName = baseDir.relativeFilePath(f);
return new PythonFileNode(FileName::fromString(f), displayName); return new PythonFileNode(FileName::fromString(f), displayName);
}); });
rootProjectNode()->makeEmpty();
rootProjectNode()->buildTree(fileNodes); rootProjectNode()->buildTree(fileNodes);
emit parsingFinished(); emit parsingFinished();