diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2010-02-11 04:52:34 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2010-02-12 04:58:22 (GMT) |
commit | 1d2b1b31166e029e009f08877ef95f95e58a03a4 (patch) | |
tree | ae2ce1a9465f885ff6e24b583fe7330c74a9dd78 /src/declarative/qml/qmlmetaproperty.cpp | |
parent | 4b740bdf8cbaaf97541a821c28bae075067343d3 (diff) | |
download | Qt-1d2b1b31166e029e009f08877ef95f95e58a03a4.zip Qt-1d2b1b31166e029e009f08877ef95f95e58a03a4.tar.gz Qt-1d2b1b31166e029e009f08877ef95f95e58a03a4.tar.bz2 |
Cleanup public QmlMetaType API
Remove some unnecessary methods from the QmlMetaType class
Diffstat (limited to 'src/declarative/qml/qmlmetaproperty.cpp')
-rw-r--r-- | src/declarative/qml/qmlmetaproperty.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/declarative/qml/qmlmetaproperty.cpp b/src/declarative/qml/qmlmetaproperty.cpp index 09c936e..f23a50a 100644 --- a/src/declarative/qml/qmlmetaproperty.cpp +++ b/src/declarative/qml/qmlmetaproperty.cpp @@ -852,17 +852,13 @@ bool QmlMetaPropertyPrivate::write(QObject *object, const QmlPropertyCache::Data } else if (property.flags & QmlPropertyCache::Data::IsQObjectDerived) { - const QMetaObject *valMo = 0; - if (enginePriv) valMo = enginePriv->rawMetaObjectForType(value.userType()); - else valMo = QmlMetaType::rawMetaObjectForType(value.userType()); + const QMetaObject *valMo = rawMetaObjectForType(enginePriv, value.userType()); if (!valMo) return false; QObject *o = *(QObject **)value.constData(); - const QMetaObject *propMo = 0; - if (enginePriv) propMo = enginePriv->rawMetaObjectForType(t); - else propMo = QmlMetaType::rawMetaObjectForType(t); + const QMetaObject *propMo = rawMetaObjectForType(enginePriv, t); if (o) valMo = o->metaObject(); @@ -892,7 +888,7 @@ bool QmlMetaPropertyPrivate::write(QObject *object, const QmlPropertyCache::Data QVariant listVar = prop.read(object); QmlMetaType::clear(listVar); for (int ii = 0; ii < list.count(); ++ii) { - QVariant v = QmlMetaType::fromObject(list.at(ii), listType); + QVariant v = QmlMetaType::qmlType(listType)->fromObject(list.at(ii)); QmlMetaType::append(listVar, v); } @@ -913,8 +909,7 @@ bool QmlMetaPropertyPrivate::write(QObject *object, const QmlPropertyCache::Data int type = li->type(); if (QObject *obj = QmlMetaType::toQObject(value)) { - const QMetaObject *mo = - QmlMetaType::rawMetaObjectForType(type); + const QMetaObject *mo = rawMetaObjectForType(enginePriv, type); const QMetaObject *objMo = obj->metaObject(); bool found = false; @@ -966,6 +961,16 @@ bool QmlMetaPropertyPrivate::write(QObject *object, const QmlPropertyCache::Data return true; } +const QMetaObject *QmlMetaPropertyPrivate::rawMetaObjectForType(QmlEnginePrivate *engine, int userType) +{ + if (engine) { + return engine->rawMetaObjectForType(userType); + } else { + QmlType *type = QmlMetaType::qmlType(userType); + return type?type->baseMetaObject():0; + } +} + /*! Set the property value to \a value. */ |