From 1b19ae28dba5ab1d862c45ba50620dd05af799bc Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Tue, 1 Sep 2020 14:40:50 +0200 Subject: [PATCH] AssetExport: Do not export states, timeline and connection nodes Nodes of type QtQuick.Item should only be exported Task-number: QDS-2667 Change-Id: I099b2d1d2a14ded5de46c2852306d5825a89034a Reviewed-by: Thomas Hartmann --- .../assetexporterplugin/componentexporter.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp b/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp index f2f28b86174..59ab72aad1d 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp +++ b/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp @@ -113,6 +113,11 @@ ModelNodeParser *Component::createNodeParser(const ModelNode &node) const QJsonObject Component::nodeToJson(const ModelNode &node) { QJsonObject jsonObject; + + // Don't export States, Connection, Timeline etc nodes. + if (!node.isSubclassOf("QtQuick.Item")) + return {}; + std::unique_ptr parser(createNodeParser(node)); if (parser) { if (parser->uuid().isEmpty()) { @@ -128,8 +133,11 @@ QJsonObject Component::nodeToJson(const ModelNode &node) } QJsonArray children; - for (const ModelNode &childnode : node.directSubModelNodes()) - children.append(nodeToJson(childnode)); + for (const ModelNode &childnode : node.directSubModelNodes()) { + const QJsonObject childJson = nodeToJson(childnode); + if (!childJson.isEmpty()) + children.append(childJson); + } if (!children.isEmpty()) jsonObject.insert(ChildrenTag, children);