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 <thomas.hartmann@qt.io>
This commit is contained in:
Vikas Pachdha
2020-09-01 14:40:50 +02:00
parent 727f25fbd6
commit 1b19ae28db

View File

@@ -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<ModelNodeParser> 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);