summaryrefslogtreecommitdiff
path: root/src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp')
-rw-r--r--src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp b/src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp
index bc4bd6504e..bc3731f625 100644
--- a/src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp
+++ b/src/plugins/qbsprojectmanager/qbsnodetreebuilder.cpp
@@ -59,9 +59,23 @@ void setupArtifacts(ProjectExplorer::FolderNode *root, const QList<qbs::Artifact
const Utils::FileName path = Utils::FileName::fromString(ad.filePath());
const ProjectExplorer::FileType type = fileType(ad);
const bool isGenerated = ad.isGenerated();
- root->addNestedNode(new ProjectExplorer::FileNode(path, type, isGenerated));
- };
+ // A list of human-readable file types that we can reasonably expect
+ // to get generated during a build. Extend as needed.
+ static const QSet<QString> sourceTags = {
+ QLatin1String("c"), QLatin1String("cpp"), QLatin1String("hpp"),
+ QLatin1String("objc"), QLatin1String("objcpp"),
+ QLatin1String("c_pch_src"), QLatin1String("cpp_pch_src"),
+ QLatin1String("objc_pch_src"), QLatin1String("objcpp_pch_src"),
+ QLatin1String("asm"), QLatin1String("asm_cpp"),
+ QLatin1String("linkerscript"),
+ QLatin1String("qrc"), QLatin1String("java.java")
+ };
+ ProjectExplorer::FileNode * const node
+ = new ProjectExplorer::FileNode(path, type, isGenerated);
+ node->setListInProject(!isGenerated || ad.fileTags().toSet().intersects(sourceTags));
+ root->addNestedNode(node);
+ }
root->compress();
}