Qmake: Make sure generated qrc files are treated as such

That is, they show up in the project tree only if "Hide generated files"
is not selected.

Task-number: QTCREATORBUG-20103
Change-Id: I63ec2ff5b696e54e07353fe53981ad83573d461a
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2019-02-21 17:16:46 +01:00
parent 956543e462
commit 4d40254619
2 changed files with 7 additions and 3 deletions

View File

@@ -362,6 +362,8 @@ void FlatModel::saveExpandData()
void FlatModel::addFolderNode(WrapperNode *parent, FolderNode *folderNode, QSet<Node *> *seen)
{
for (Node *node : folderNode->nodes()) {
if (m_filterGeneratedFiles && node->isGenerated())
continue;
if (FolderNode *subFolderNode = node->asFolderNode()) {
const bool isHidden = m_filterProjects && !subFolderNode->showInSimpleTree();
if (!isHidden && !seen->contains(subFolderNode)) {
@@ -374,8 +376,7 @@ void FlatModel::addFolderNode(WrapperNode *parent, FolderNode *folderNode, QSet<
addFolderNode(parent, subFolderNode, seen);
}
} else if (FileNode *fileNode = node->asFileNode()) {
const bool isHidden = m_filterGeneratedFiles && fileNode->isGenerated();
if (!isHidden && !seen->contains(fileNode)) {
if (!seen->contains(fileNode)) {
seen->insert(fileNode);
parent->appendChild(new WrapperNode(fileNode));
}

View File

@@ -167,7 +167,10 @@ static void createTree(const QmakePriFile *pri, QmakePriFileNode *node, const Fi
int eid = vfs->idForFileName(file.toString(), QMakeVfs::VfsExact);
vfs->readFile(eid, &contents, &errorMessage);
}
vfolder->addNode(std::make_unique<ResourceEditor::ResourceTopLevelNode>(file, false, contents, vfolder.get()));
const QString baseName = file.toFileInfo().completeBaseName();
const bool generated = baseName.startsWith("qmake_")
|| baseName.endsWith("_qmlcache");
vfolder->addNode(std::make_unique<ResourceEditor::ResourceTopLevelNode>(file, generated, contents, vfolder.get()));
}
} else {
for (const FileName &fn : newFilePaths) {