AssetExport: Assign export type component to QML components

Task-number: QDS-1556
Change-Id: I99c0e0219aa040b74794ab28cf0da7970a81663a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Vikas Pachdha
2020-07-14 11:29:06 +02:00
committed by Tim Jenssen
parent f1d5e56f09
commit f2ea02561e
3 changed files with 10 additions and 2 deletions

View File

@@ -51,8 +51,11 @@ const char WidthTag[] = "width";
const char HeightTag[] = "height";
const char MetadataTag[] = "metadata";
const char ChildrenTag[] = "children";
const char QmlIdTag[] = "qmlId";
const char ExportTypeTag[] = "exportType";
const char ExportTypeComponent[] = "component";
const char ExportTypeChild[] = "child";
const char QmlPropertiesTag[] = "qmlProperties";
const char ImportsTag[] = "extraImports";
const char UuidTag[] = "uuid";

View File

@@ -53,6 +53,7 @@ static void populateLineage(const QmlDesigner::ModelNode &node, QByteArrayList &
}
namespace QmlDesigner {
using namespace Constants;
std::vector<std::unique_ptr<Internal::NodeParserCreatorBase>> Component::m_readers;
Component::Component(AssetExporter &exporter, const ModelNode &rootNode):
@@ -76,6 +77,10 @@ void Component::exportComponent()
{
QTC_ASSERT(m_rootNode.isValid(), return);
m_json = nodeToJson(m_rootNode);
// Change the export type to component
QJsonObject metadata = m_json.value(MetadataTag).toObject();
metadata.insert(ExportTypeTag, ExportTypeComponent);
m_json.insert(MetadataTag, metadata);
addImports();
}
@@ -124,7 +129,7 @@ QJsonObject Component::nodeToJson(const ModelNode &node)
children.append(nodeToJson(childnode));
if (!children.isEmpty())
jsonObject.insert("children", children);
jsonObject.insert(ChildrenTag, children);
return jsonObject;
}

View File

@@ -62,7 +62,7 @@ QJsonObject QmlDesigner::ItemNodeParser::json(QmlDesigner::Component &component)
QJsonObject metadata;
metadata.insert(QmlIdTag, qmlObjectNode.id());
metadata.insert(UuidTag, uuid());
metadata.insert(ExportTypeTag, "child");
metadata.insert(ExportTypeTag, ExportTypeChild);
metadata.insert(TypeNameTag, QString::fromLatin1(m_node.type()));
jsonObject.insert(MetadataTag, metadata);