diff options
author | Vikas Pachdha <vikas.pachdha@qt.io> | 2020-07-15 11:08:05 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@qt.io> | 2020-07-15 11:16:04 +0000 |
commit | 443f9d1619c86774699322bbcb873d4cce1805ec (patch) | |
tree | 900266548db0a9503d113ae4265d47824f4db32a | |
parent | f2ea02561eaa99b468d169bb29796e9131a39569 (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.h | 2 | ||||
-rw-r--r-- | src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.cpp | 20 |
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())); |