forked from qt-creator/qt-creator
ProjectNodes: Be less enthusiastic about compression opportunities
Do not compress foldernodes that differ on their type. This makes it possible to use FolderNode::compress() in one more place in CMake. Change-Id: I4721d5d12e3032ee70a1c3d9e87df49d59751f04 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -538,6 +538,7 @@ void ServerModeReader::addCMakeLists(CMakeProjectNode *root, const QList<FileNod
|
||||
[&cmakeDirs](const Utils::FileName &fp) -> ProjectExplorer::FolderNode * {
|
||||
return cmakeDirs.contains(fp) ? new CMakeListsNode(fp) : new FolderNode(fp);
|
||||
});
|
||||
root->compress();
|
||||
}
|
||||
|
||||
static ProjectNode *findCMakeNode(ProjectNode *root, const Utils::FileName &dir)
|
||||
|
||||
@@ -520,6 +520,8 @@ void FolderNode::compress()
|
||||
{
|
||||
QList<Node *> children = nodes();
|
||||
if (auto subFolder = children.count() == 1 ? children.at(0)->asFolderNode() : nullptr) {
|
||||
if (subFolder->nodeType() != nodeType())
|
||||
return;
|
||||
// Only one subfolder: Compress!
|
||||
setDisplayName(QDir::toNativeSeparators(displayName() + "/" + subFolder->displayName()));
|
||||
for (Node *n : subFolder->nodes()) {
|
||||
|
||||
Reference in New Issue
Block a user