aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikas Pachdha <vikas.pachdha@qt.io>2020-07-15 11:08:05 +0200
committerTim Jenssen <tim.jenssen@qt.io>2020-07-15 11:16:04 +0000
commit443f9d1619c86774699322bbcb873d4cce1805ec (patch)
tree900266548db0a9503d113ae4265d47824f4db32a
parentf2ea02561eaa99b468d169bb29796e9131a39569 (diff)
AssetExporter: Add display name to the exported json
This shall be used for layer names Task-number: QDS-1556 Change-Id: I3ffce208d830f291de48105ec9cf92e76692f8bd Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
-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()));