diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-10-02 11:15:27 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-10-02 12:44:06 +0000 |
commit | d907df03496551907259d95fe417b9910d7f7963 (patch) | |
tree | b76c4073b4573529b1b93c7e5953467792e4cf6c /src/plugins/designer | |
parent | 312ff692b02d6b19f39303591c7dc0156bf46661 (diff) |
Revert "Designer: Fix look-up of resources for UI files"
This reverts commit 736eef24ca9263339f4c576cba5d4b20fe188045,
which breaks binary compatibility.
Change-Id: I696ad3e6efc6f02f595356c9864d69629eeef8bf
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/designer')
-rw-r--r-- | src/plugins/designer/resourcehandler.cpp | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/src/plugins/designer/resourcehandler.cpp b/src/plugins/designer/resourcehandler.cpp index c01dbc95f6d..84020f77ee4 100644 --- a/src/plugins/designer/resourcehandler.cpp +++ b/src/plugins/designer/resourcehandler.cpp @@ -99,37 +99,26 @@ void ResourceHandler::updateResourcesHelper(bool updateProjectResources) // Find the (sub-)project the file belongs to. We don't want to find resources // from other parts of the project tree, e.g. via a qmake subdirs project. - Node * const fileNode = project->rootProjectNode()->findNode([&fileName](const Node *n) { + ProjectNode *projectNode = project->rootProjectNode(); + Node * const fileNode = projectNode->findNode([&fileName](const Node *n) { return n->filePath().toString() == fileName; }); - ProjectNode *projectNodeForUiFile = nullptr; if (fileNode) { // We do not want qbs groups or qmake .pri files here, as they contain only a subset // of the relevant files. - projectNodeForUiFile = fileNode->parentProjectNode(); - while (projectNodeForUiFile && !projectNodeForUiFile->isProduct()) - projectNodeForUiFile = projectNodeForUiFile->parentProjectNode(); + projectNode = fileNode->parentProjectNode(); + while (projectNode && !projectNode->isProduct()) + projectNode = projectNode->parentProjectNode(); } - if (!projectNodeForUiFile) - projectNodeForUiFile = project->rootProjectNode(); - - const auto useQrcFile = [projectNodeForUiFile, project](const Node *qrcNode) { - if (projectNodeForUiFile == project->rootProjectNode()) - return true; - ProjectNode *projectNodeForQrcFile = qrcNode->parentProjectNode(); - while (projectNodeForQrcFile && !projectNodeForQrcFile->isProduct()) - projectNodeForQrcFile = projectNodeForQrcFile->parentProjectNode(); - return !projectNodeForQrcFile - || projectNodeForQrcFile == projectNodeForUiFile - || projectNodeForQrcFile->productType() != ProductType::App; - }; + if (!projectNode) + projectNode = project->rootProjectNode(); QStringList projectQrcFiles; - project->rootProjectNode()->forEachNode([&](FileNode *node) { - if (node->fileType() == FileType::Resource && useQrcFile(node)) + projectNode->forEachNode([&](FileNode *node) { + if (node->fileType() == FileType::Resource) projectQrcFiles.append(node->filePath().toString()); }, [&](FolderNode *node) { - if (dynamic_cast<ResourceEditor::ResourceTopLevelNode *>(node) && useQrcFile(node)) + if (dynamic_cast<ResourceEditor::ResourceTopLevelNode *>(node)) projectQrcFiles.append(node->filePath().toString()); }); // Check if the user has chosen to update the lacking resource inside designer @@ -141,7 +130,7 @@ void ResourceHandler::updateResourcesHelper(bool updateProjectResources) } if (!qrcPathsToBeAdded.isEmpty()) { m_handlingResources = true; - projectNodeForUiFile->addFiles(qrcPathsToBeAdded); + projectNode->addFiles(qrcPathsToBeAdded); m_handlingResources = false; projectQrcFiles += qrcPathsToBeAdded; } |