summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qmlmetaproperty.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2010-02-11 04:52:34 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2010-02-12 04:58:22 (GMT)
commit1d2b1b31166e029e009f08877ef95f95e58a03a4 (patch)
treeae2ce1a9465f885ff6e24b583fe7330c74a9dd78 /src/declarative/qml/qmlmetaproperty.cpp
parent4b740bdf8cbaaf97541a821c28bae075067343d3 (diff)
downloadQt-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.cpp23
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.
*/