diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp index 8b44f4427f6..b5b692da080 100644 --- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp +++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp @@ -594,7 +594,7 @@ static FolderNode *createSourceGroupNode(const QString &sourceGroupName, FolderNode *existingNode = currentNode->findChildFolderNode( [&p](const FolderNode *fn) { return fn->displayName() == p; }); if (!existingNode) { - auto node = createCMakeVFolder(sourceDirectory, Node::DefaultFolderPriority + 5, p); + auto node = createCMakeVFolder(sourceDirectory, Node::DefaultFolderPriority + 5, p, true); node->setListInProject(false); node->setIcon([] { return Icon::fromTheme("edit-copy"); }); diff --git a/src/plugins/cmakeprojectmanager/projecttreehelper.cpp b/src/plugins/cmakeprojectmanager/projecttreehelper.cpp index 7b9efb07b94..d8dcbde1322 100644 --- a/src/plugins/cmakeprojectmanager/projecttreehelper.cpp +++ b/src/plugins/cmakeprojectmanager/projecttreehelper.cpp @@ -19,13 +19,13 @@ namespace CMakeProjectManager::Internal { std::unique_ptr createCMakeVFolder(const Utils::FilePath &basePath, int priority, - const QString &displayName) + const QString &displayName, + bool sourcesOrHeaders) { auto newFolder = std::make_unique(basePath); newFolder->setPriority(priority); newFolder->setDisplayName(displayName); - newFolder->setIsSourcesOrHeaders(displayName == "Source Files" - || displayName == "Header Files"); + newFolder->setIsSourcesOrHeaders(sourcesOrHeaders); return newFolder; } @@ -33,13 +33,14 @@ void addCMakeVFolder(FolderNode *base, const Utils::FilePath &basePath, int priority, const QString &displayName, - std::vector> &&files) + std::vector> &&files, + bool sourcesOrHeaders) { if (files.size() == 0) return; FolderNode *folder = base; if (!displayName.isEmpty()) { - auto newFolder = createCMakeVFolder(basePath, priority, displayName); + auto newFolder = createCMakeVFolder(basePath, priority, displayName, sourcesOrHeaders); folder = newFolder.get(); base->addNode(std::move(newFolder)); } diff --git a/src/plugins/cmakeprojectmanager/projecttreehelper.h b/src/plugins/cmakeprojectmanager/projecttreehelper.h index 34a8723759f..aa655492d4a 100644 --- a/src/plugins/cmakeprojectmanager/projecttreehelper.h +++ b/src/plugins/cmakeprojectmanager/projecttreehelper.h @@ -11,13 +11,15 @@ namespace CMakeProjectManager::Internal { std::unique_ptr createCMakeVFolder(const Utils::FilePath &basePath, int priority, - const QString &displayName); + const QString &displayName, + bool sourcesOrHeaders); void addCMakeVFolder(ProjectExplorer::FolderNode *base, const Utils::FilePath &basePath, int priority, const QString &displayName, - std::vector> &&files); + std::vector> &&files, + bool sourcesOrHeaders = false); std::vector> &&removeKnownNodes( const QSet &knownFiles,