forked from qt-creator/qt-creator
ProjectExplorer: Fix display of .qrc contents
Change-Id: I2779e12daa8a7972380f51b72a56de3466d453a5 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -560,6 +560,12 @@ void FolderNode::setFolderNodes(const QList<FolderNode *> &folders)
|
|||||||
node->setParentFolderNode(this);
|
node->setParentFolderNode(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FolderNode::makeEmpty()
|
||||||
|
{
|
||||||
|
setFolderNodes({});
|
||||||
|
setFileNodes({});
|
||||||
|
}
|
||||||
|
|
||||||
bool FolderNode::showInSimpleTree() const
|
bool FolderNode::showInSimpleTree() const
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -499,7 +499,7 @@ void QbsGroupNode::setupFolder(ProjectExplorer::FolderNode *root,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (isQrcFile)
|
if (isQrcFile)
|
||||||
static_cast<ResourceTopLevelNode *>(fn)->update();
|
static_cast<ResourceTopLevelNode *>(fn)->addInternalNodes();
|
||||||
else
|
else
|
||||||
setupFolder(fn, fileTypeHash, c, c->path(), generated);
|
setupFolder(fn, fileTypeHash, c, c->path(), generated);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -451,7 +451,9 @@ struct InternalNode
|
|||||||
// If the cumulative evaluation botched the file too much, try the exact one.
|
// If the cumulative evaluation botched the file too much, try the exact one.
|
||||||
if (contents.isEmpty())
|
if (contents.isEmpty())
|
||||||
vfs->readVirtualFile(file.toString(), QMakeVfs::VfsExact, &contents);
|
vfs->readVirtualFile(file.toString(), QMakeVfs::VfsExact, &contents);
|
||||||
folder->addFolderNode(new ResourceEditor::ResourceTopLevelNode(file, contents, folder));
|
auto resourceNode = new ResourceEditor::ResourceTopLevelNode(file, contents, folder);
|
||||||
|
folder->addFolderNode(resourceNode);
|
||||||
|
resourceNode->addInternalNodes();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (const FileName &file : files)
|
for (const FileName &file : files)
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ ResourceTopLevelNode::~ResourceTopLevelNode()
|
|||||||
delete m_document;
|
delete m_document;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResourceTopLevelNode::update()
|
void ResourceTopLevelNode::addInternalNodes()
|
||||||
{
|
{
|
||||||
QMap<PrefixFolderLang, QList<ProjectExplorer::FileNode *>> filesToAdd;
|
QMap<PrefixFolderLang, QList<ProjectExplorer::FileNode *>> filesToAdd;
|
||||||
QMap<PrefixFolderLang, QList<ProjectExplorer::FolderNode *>> foldersToAddToFolders;
|
QMap<PrefixFolderLang, QList<ProjectExplorer::FolderNode *>> foldersToAddToFolders;
|
||||||
@@ -518,7 +518,8 @@ bool ResourceFileWatcher::reload(QString *errorString, ReloadFlag flag, ChangeTy
|
|||||||
Q_UNUSED(flag)
|
Q_UNUSED(flag)
|
||||||
if (type == TypePermissions)
|
if (type == TypePermissions)
|
||||||
return true;
|
return true;
|
||||||
m_node->update();
|
m_node->makeEmpty();
|
||||||
|
m_node->addInternalNodes();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ class RESOURCE_EXPORT ResourceTopLevelNode : public ProjectExplorer::FolderNode
|
|||||||
public:
|
public:
|
||||||
ResourceTopLevelNode(const Utils::FileName &filePath, const QString &contents, FolderNode *parent);
|
ResourceTopLevelNode(const Utils::FileName &filePath, const QString &contents, FolderNode *parent);
|
||||||
~ResourceTopLevelNode() override;
|
~ResourceTopLevelNode() override;
|
||||||
void update();
|
void addInternalNodes();
|
||||||
|
|
||||||
QString addFileFilter() const override;
|
QString addFileFilter() const override;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user