diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2020-01-20 01:00:27 +0100 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-01-20 07:04:47 +0000 |
commit | b9519d9630d9192cb49b97c7c9fe30d43ab1ee4a (patch) | |
tree | 512b32a0e2dea84a89a01e89a1b7868f3c1c8a37 /src/qml/qml/qqmlvaluetype.cpp | |
parent | 0ced82a8cf8472a79b08db05d441caf778ac9131 (diff) | |
parent | e5f7c5f2712957d0e1753c629e4cce86a0e6bdbc (diff) |
Merge remote-tracking branch 'origin/5.15' into dev
Conflicts:
src/qml/qml/qqmlvaluetype.cpp
tests/auto/qml/qml.pro
Change-Id: I78f992f83212bb9fd5e09b64163f15f046185224
Diffstat (limited to 'src/qml/qml/qqmlvaluetype.cpp')
-rw-r--r-- | src/qml/qml/qqmlvaluetype.cpp | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/src/qml/qml/qqmlvaluetype.cpp b/src/qml/qml/qqmlvaluetype.cpp index d83fc4bb48..4beb6a4d07 100644 --- a/src/qml/qml/qqmlvaluetype.cpp +++ b/src/qml/qml/qqmlvaluetype.cpp @@ -48,6 +48,8 @@ #endif #include <private/qmetatype_p.h> +Q_DECLARE_METATYPE(QQmlProperty) + QT_BEGIN_NAMESPACE namespace { @@ -62,7 +64,7 @@ struct QQmlValueTypeFactoryImpl const QMetaObject *metaObjectForMetaType(int); QQmlValueType *valueType(int); - QQmlValueType *valueTypes[QVariant::UserType]; + QQmlValueType *valueTypes[QMetaType::User]; QHash<int, QQmlValueType *> userTypes; QMutex mutex; @@ -71,7 +73,7 @@ struct QQmlValueTypeFactoryImpl QQmlValueTypeFactoryImpl::QQmlValueTypeFactoryImpl() { - std::fill_n(valueTypes, int(QVariant::UserType), &invalidValueType); + std::fill_n(valueTypes, int(QMetaType::User), &invalidValueType); #if QT_CONFIG(qml_itemmodel) // See types wrapped in qqmlmodelindexvaluetype_p.h @@ -118,26 +120,26 @@ bool QQmlValueTypeFactoryImpl::isValueType(int idx) const QMetaObject *QQmlValueTypeFactoryImpl::metaObjectForMetaType(int t) { switch (t) { - case QVariant::Point: + case QMetaType::QPoint: return &QQmlPointValueType::staticMetaObject; - case QVariant::PointF: + case QMetaType::QPointF: return &QQmlPointFValueType::staticMetaObject; - case QVariant::Size: + case QMetaType::QSize: return &QQmlSizeValueType::staticMetaObject; - case QVariant::SizeF: + case QMetaType::QSizeF: return &QQmlSizeFValueType::staticMetaObject; - case QVariant::Rect: + case QMetaType::QRect: return &QQmlRectValueType::staticMetaObject; - case QVariant::RectF: + case QMetaType::QRectF: return &QQmlRectFValueType::staticMetaObject; #if QT_CONFIG(easingcurve) - case QVariant::EasingCurve: + case QMetaType::QEasingCurve: return &QQmlEasingValueType::staticMetaObject; #endif #if QT_CONFIG(qml_itemmodel) - case QVariant::ModelIndex: + case QMetaType::QModelIndex: return &QQmlModelIndexValueType::staticMetaObject; - case QVariant::PersistentModelIndex: + case QMetaType::QPersistentModelIndex: return &QQmlPersistentModelIndexValueType::staticMetaObject; #endif default: @@ -145,7 +147,8 @@ const QMetaObject *QQmlValueTypeFactoryImpl::metaObjectForMetaType(int t) if (t == qMetaTypeId<QItemSelectionRange>()) return &QQmlItemSelectionRangeValueType::staticMetaObject; #endif - + if (t == qMetaTypeId<QQmlProperty>()) + return &QQmlPropertyValueType::staticMetaObject; if (const QMetaObject *mo = QQml_valueTypeProvider()->metaObjectForMetaType(t)) return mo; break; @@ -159,7 +162,7 @@ const QMetaObject *QQmlValueTypeFactoryImpl::metaObjectForMetaType(int t) QQmlValueType *QQmlValueTypeFactoryImpl::valueType(int idx) { - if (idx >= (int)QVariant::UserType) { + if (idx >= (int)QMetaType::User) { // Protect the hash with a mutex mutex.lock(); @@ -585,6 +588,16 @@ void QQmlEasingValueType::setBezierCurve(const QVariantList &customCurveVariant) v = newEasingCurve; } +QObject *QQmlPropertyValueType::object() const +{ + return v.object(); +} + +QString QQmlPropertyValueType::name() const +{ + return v.name(); +} + QVariantList QQmlEasingValueType::bezierCurve() const { QVariantList rv; |