From 3b6ac3b45a333815b097603c93bb38d97782826e Mon Sep 17 00:00:00 2001 From: Warwick Allison Date: Fri, 24 Jul 2009 17:01:17 +1000 Subject: Add the fully-qualified type name to the DOM (via QmlParser::Object) QML-defined ones are still defined by their URL, not a qualified name. --- src/declarative/qml/qmlcompiler.cpp | 4 +++- src/declarative/qml/qmldom.cpp | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/declarative/qml/qmlcompiler.cpp b/src/declarative/qml/qmlcompiler.cpp index 2e8666d..7e483cd 100644 --- a/src/declarative/qml/qmlcompiler.cpp +++ b/src/declarative/qml/qmlcompiler.cpp @@ -628,6 +628,8 @@ bool QmlCompiler::buildObject(Object *obj, const BindingContext &ctxt) if (tr.component) obj->url = tr.component->url(); + if (tr.type) + obj->typeName = tr.type->qmlTypeName(); // This object is a "Component" element if (obj->metatype == &QmlComponent::staticMetaObject) { @@ -1714,7 +1716,7 @@ bool QmlCompiler::buildPropertyObjectAssignment(QmlParser::Property *prop, QmlParser::Object *root = v->object; QmlParser::Object *component = new QmlParser::Object; component->type = componentTypeRef(); - component->typeName = "Component"; + component->typeName = "Qt/4.6/Component"; component->metatype = &QmlComponent::staticMetaObject; component->location = root->location; QmlParser::Value *componentValue = new QmlParser::Value; diff --git a/src/declarative/qml/qmldom.cpp b/src/declarative/qml/qmldom.cpp index 73332fe..6725950 100644 --- a/src/declarative/qml/qmldom.cpp +++ b/src/declarative/qml/qmldom.cpp @@ -161,7 +161,6 @@ QList QmlDomDocument::imports() const */ bool QmlDomDocument::load(QmlEngine *engine, const QByteArray &data, const QUrl &url) { - Q_UNUSED(engine); d->errors.clear(); d->imports.clear(); @@ -951,7 +950,7 @@ QByteArray QmlDomObject::customTypeData() const bool QmlDomObject::isComponent() const { return d->isVirtualComponent || - (d->object && d->object->typeName == "Component"); + (d->object && d->object->typeName == "Qt/4.6/Component"); } /*! -- cgit v0.12