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>
This commit is contained in:
Vikas Pachdha
2020-07-15 11:08:05 +02:00
committed by Tim Jenssen
parent f2ea02561e
commit 443f9d1619
2 changed files with 21 additions and 1 deletions

View File

@@ -45,6 +45,8 @@ const char DocumentNameTag[] = "name";
// Layer data tags // Layer data tags
const char ArtboardListTag[] = "artboards"; const char ArtboardListTag[] = "artboards";
const char NameTag[] = "name";
const char XPosTag[] = "x"; const char XPosTag[] = "x";
const char YPosTag[] = "y"; const char YPosTag[] = "y";
const char WidthTag[] = "width"; const char WidthTag[] = "width";

View File

@@ -28,6 +28,17 @@
#include "qmlitemnode.h" #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 { namespace QmlDesigner {
using namespace Constants; using namespace Constants;
ItemNodeParser::ItemNodeParser(const QByteArrayList &lineage, ItemNodeParser::ItemNodeParser(const QByteArrayList &lineage,
@@ -48,6 +59,13 @@ QJsonObject QmlDesigner::ItemNodeParser::json(QmlDesigner::Component &component)
const QmlObjectNode &qmlObjectNode = objectNode(); const QmlObjectNode &qmlObjectNode = objectNode();
QJsonObject jsonObject; 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 // Position relative to parent
QmlItemNode itemNode = qmlObjectNode.toQmlItemNode(); QmlItemNode itemNode = qmlObjectNode.toQmlItemNode();
QPointF pos = itemNode.instancePosition(); QPointF pos = itemNode.instancePosition();
@@ -60,7 +78,7 @@ QJsonObject QmlDesigner::ItemNodeParser::json(QmlDesigner::Component &component)
jsonObject.insert(HeightTag, size.height()); jsonObject.insert(HeightTag, size.height());
QJsonObject metadata; QJsonObject metadata;
metadata.insert(QmlIdTag, qmlObjectNode.id()); metadata.insert(QmlIdTag, qmlId);
metadata.insert(UuidTag, uuid()); metadata.insert(UuidTag, uuid());
metadata.insert(ExportTypeTag, ExportTypeChild); metadata.insert(ExportTypeTag, ExportTypeChild);
metadata.insert(TypeNameTag, QString::fromLatin1(m_node.type())); metadata.insert(TypeNameTag, QString::fromLatin1(m_node.type()));