aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/qmldesigner/assetexporterplugin/assetexportpluginconstants.h2
-rw-r--r--src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.cpp20
2 files changed, 21 insertions, 1 deletions
diff --git a/src/plugins/qmldesigner/assetexporterplugin/assetexportpluginconstants.h b/src/plugins/qmldesigner/assetexporterplugin/assetexportpluginconstants.h
index 063a4a6e8c..5f09b74860 100644
--- a/src/plugins/qmldesigner/assetexporterplugin/assetexportpluginconstants.h
+++ b/src/plugins/qmldesigner/assetexporterplugin/assetexportpluginconstants.h
@@ -45,6 +45,8 @@ const char DocumentNameTag[] = "name";
// Layer data tags
const char ArtboardListTag[] = "artboards";
+const char NameTag[] = "name";
+
const char XPosTag[] = "x";
const char YPosTag[] = "y";
const char WidthTag[] = "width";
diff --git a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.cpp b/src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.cpp
index c8439c9ac1..43963aa8b2 100644
--- a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.cpp
+++ b/src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.cpp
@@ -28,6 +28,17 @@
#include "qmlitemnode.h"
+namespace {
+static QString capitalize(const QString &str)
+{
+ if (str.isEmpty())
+ return {};
+ QString tmp = str;
+ tmp[0] = QChar(str[0]).toUpper().toLatin1();
+ return tmp;
+}
+}
+
namespace QmlDesigner {
using namespace Constants;
ItemNodeParser::ItemNodeParser(const QByteArrayList &lineage,
@@ -48,6 +59,13 @@ QJsonObject QmlDesigner::ItemNodeParser::json(QmlDesigner::Component &component)
const QmlObjectNode &qmlObjectNode = objectNode();
QJsonObject jsonObject;
+ const QString qmlId = qmlObjectNode.id();
+ QString name = m_node.simplifiedTypeName();
+ if (!qmlId.isEmpty())
+ name.append("_" + capitalize(qmlId));
+
+ jsonObject.insert(NameTag, name);
+
// Position relative to parent
QmlItemNode itemNode = qmlObjectNode.toQmlItemNode();
QPointF pos = itemNode.instancePosition();
@@ -60,7 +78,7 @@ QJsonObject QmlDesigner::ItemNodeParser::json(QmlDesigner::Component &component)
jsonObject.insert(HeightTag, size.height());
QJsonObject metadata;
- metadata.insert(QmlIdTag, qmlObjectNode.id());
+ metadata.insert(QmlIdTag, qmlId);
metadata.insert(UuidTag, uuid());
metadata.insert(ExportTypeTag, ExportTypeChild);
metadata.insert(TypeNameTag, QString::fromLatin1(m_node.type()));