forked from qt-creator/qt-creator
ProjectManager: Show .qrc contents again
This fixes the second regression introduced by 04a525877b.
Change-Id: I5c5c72a036f139fa564c40e95ebf6acafc99792c
Reviewed-by: Mathias Hasselmann <mathias.hasselmann@kdab.com>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -546,20 +546,13 @@ void FolderNode::removeNode(Node *node)
|
|||||||
and emits the corresponding signals from the projectNode.
|
and emits the corresponding signals from the projectNode.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void FolderNode::setNodes(const QList<Node *> &nodes)
|
|
||||||
{
|
|
||||||
qDeleteAll(m_nodes);
|
|
||||||
m_nodes = nodes;
|
|
||||||
for (Node *node : m_nodes)
|
|
||||||
node->setParentFolderNode(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Removes all files and subfolders from this folder node.
|
Removes all files and subfolders from this folder node.
|
||||||
*/
|
*/
|
||||||
void FolderNode::makeEmpty()
|
void FolderNode::makeEmpty()
|
||||||
{
|
{
|
||||||
setNodes({});
|
qDeleteAll(m_nodes);
|
||||||
|
m_nodes.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool FolderNode::showInSimpleTree() const
|
bool FolderNode::showInSimpleTree() const
|
||||||
|
|||||||
@@ -248,7 +248,6 @@ public:
|
|||||||
|
|
||||||
void addNode(Node *node);
|
void addNode(Node *node);
|
||||||
void removeNode(Node *node);
|
void removeNode(Node *node);
|
||||||
void setNodes(const QList<Node *> &nodes);
|
|
||||||
|
|
||||||
// all subFolders that are projects
|
// all subFolders that are projects
|
||||||
QList<ProjectNode*> projectNodes() const;
|
QList<ProjectNode*> projectNodes() const;
|
||||||
|
|||||||
@@ -122,7 +122,6 @@ ResourceTopLevelNode::~ResourceTopLevelNode()
|
|||||||
void ResourceTopLevelNode::addInternalNodes()
|
void ResourceTopLevelNode::addInternalNodes()
|
||||||
{
|
{
|
||||||
QMap<PrefixFolderLang, QList<ProjectExplorer::Node *>> nodesToAdd;
|
QMap<PrefixFolderLang, QList<ProjectExplorer::Node *>> nodesToAdd;
|
||||||
QMap<PrefixFolderLang, QList<ProjectExplorer::FolderNode *>> foldersToAddToFolders;
|
|
||||||
QMap<PrefixFolderLang, QList<ProjectExplorer::FolderNode *>> foldersToAddToPrefix;
|
QMap<PrefixFolderLang, QList<ProjectExplorer::FolderNode *>> foldersToAddToPrefix;
|
||||||
|
|
||||||
ResourceFile file(filePath().toString(), m_contents);
|
ResourceFile file(filePath().toString(), m_contents);
|
||||||
@@ -186,9 +185,9 @@ void ResourceTopLevelNode::addInternalNodes()
|
|||||||
this, currentPrefixNode);
|
this, currentPrefixNode);
|
||||||
if (parentIsPrefix) {
|
if (parentIsPrefix) {
|
||||||
foldersToAddToPrefix[prefixId] << newNode;
|
foldersToAddToPrefix[prefixId] << newNode;
|
||||||
|
nodesToAdd[prefixId] << newNode;
|
||||||
} else {
|
} else {
|
||||||
PrefixFolderLang parentFolderId(prefix, parentFolderName, lang);
|
PrefixFolderLang parentFolderId(prefix, parentFolderName, lang);
|
||||||
foldersToAddToFolders[parentFolderId] << newNode;
|
|
||||||
nodesToAdd[parentFolderId] << newNode;
|
nodesToAdd[parentFolderId] << newNode;
|
||||||
}
|
}
|
||||||
folderNodes.insert(folderId, newNode);
|
folderNodes.insert(folderId, newNode);
|
||||||
@@ -207,13 +206,17 @@ void ResourceTopLevelNode::addInternalNodes()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (FolderNode *sfn, folderNodes()) {
|
const QList<FolderNode *> fnodes = folderNodes();
|
||||||
|
for (FolderNode *sfn : fnodes) {
|
||||||
ResourceFolderNode *srn = static_cast<ResourceFolderNode *>(sfn);
|
ResourceFolderNode *srn = static_cast<ResourceFolderNode *>(sfn);
|
||||||
PrefixFolderLang folderId(srn->prefix(), QString(), srn->lang());
|
PrefixFolderLang folderId(srn->prefix(), QString(), srn->lang());
|
||||||
srn->setNodes(nodesToAdd[folderId]);
|
const QList<ProjectExplorer::Node *> nodes = nodesToAdd[folderId];
|
||||||
foreach (FolderNode* ssfn, sfn->folderNodes()) {
|
for (Node *n : nodes)
|
||||||
|
srn->addNode(n);
|
||||||
|
const QList<FolderNode *> sfnodes = sfn->folderNodes();
|
||||||
|
for (FolderNode *ssfn : sfnodes) {
|
||||||
SimpleResourceFolderNode *sssn = static_cast<SimpleResourceFolderNode *>(ssfn);
|
SimpleResourceFolderNode *sssn = static_cast<SimpleResourceFolderNode *>(ssfn);
|
||||||
sssn->addFilesAndSubfolders(foldersToAddToFolders, nodesToAdd, srn->prefix(), srn->lang());
|
sssn->addFilesAndSubfolders(nodesToAdd, srn->prefix(), srn->lang());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -649,13 +652,13 @@ ResourceFolderNode *SimpleResourceFolderNode::prefixNode() const
|
|||||||
return m_prefixNode;
|
return m_prefixNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SimpleResourceFolderNode::addFilesAndSubfolders(const QMap<PrefixFolderLang, QList<ProjectExplorer::FolderNode*> > &foldersToAdd,
|
void SimpleResourceFolderNode::addFilesAndSubfolders(const QMap<PrefixFolderLang, QList<Node *>> &nodesToAdd,
|
||||||
const QMap<PrefixFolderLang, QList<ProjectExplorer::Node*> > &nodesToAdd,
|
|
||||||
const QString &prefix, const QString &lang)
|
const QString &prefix, const QString &lang)
|
||||||
{
|
{
|
||||||
setNodes(nodesToAdd.value(PrefixFolderLang(prefix, m_folderName, lang)));
|
for (Node *node : nodesToAdd.value(PrefixFolderLang(prefix, m_folderName, lang)))
|
||||||
|
addNode(node);
|
||||||
foreach (FolderNode* subNode, folderNodes()) {
|
foreach (FolderNode* subNode, folderNodes()) {
|
||||||
SimpleResourceFolderNode* sn = static_cast<SimpleResourceFolderNode*>(subNode);
|
SimpleResourceFolderNode* sn = static_cast<SimpleResourceFolderNode*>(subNode);
|
||||||
sn->addFilesAndSubfolders(foldersToAdd, nodesToAdd, prefix, lang);
|
sn->addFilesAndSubfolders(nodesToAdd, prefix, lang);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -122,8 +122,7 @@ public:
|
|||||||
const QString &prefix, const QString &lang, Utils::FileName absolutePath,
|
const QString &prefix, const QString &lang, Utils::FileName absolutePath,
|
||||||
ResourceTopLevelNode *topLevel, ResourceFolderNode *prefixNode);
|
ResourceTopLevelNode *topLevel, ResourceFolderNode *prefixNode);
|
||||||
QList<ProjectExplorer::ProjectAction> supportedActions(ProjectExplorer::Node *node) const;
|
QList<ProjectExplorer::ProjectAction> supportedActions(ProjectExplorer::Node *node) const;
|
||||||
void addFilesAndSubfolders(const QMap<PrefixFolderLang, QList<FolderNode *> > &foldersToAdd,
|
void addFilesAndSubfolders(const QMap<PrefixFolderLang, QList<Node *> > &nodesToAdd,
|
||||||
const QMap<PrefixFolderLang, QList<Node *> > &nodesToAdd,
|
|
||||||
const QString &prefix, const QString &lang);
|
const QString &prefix, const QString &lang);
|
||||||
bool addFiles(const QStringList &filePaths, QStringList *notAdded);
|
bool addFiles(const QStringList &filePaths, QStringList *notAdded);
|
||||||
bool removeFiles(const QStringList &filePaths, QStringList *notRemoved);
|
bool removeFiles(const QStringList &filePaths, QStringList *notRemoved);
|
||||||
|
|||||||
Reference in New Issue
Block a user