aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp')
-rw-r--r--src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp b/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp
index f2f28b8617..59ab72aad1 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<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);