diff options
author | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-11-27 13:48:11 +0100 |
---|---|---|
committer | Fabian Kosmale <fabian.kosmale@qt.io> | 2020-12-03 10:38:43 +0100 |
commit | 77c02343e2c86bd80994882d709fe12f745705ba (patch) | |
tree | 214ae179c7d62f4328aaf75b6447e08c5a5c7d32 /src/quick/util | |
parent | 76aa1d578d0eb0e819bac34292f2788853dc5199 (diff) |
Use QMetaType instead of metatype-id, take 2
This time, the ValueTypeFactory gets converted. As a consequence, many
callers get touched again.
Task-number: QTBUG-88766
Change-Id: I3a8b7d5cfeb7fac85daf1702febba205971d4256
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/quick/util')
-rw-r--r-- | src/quick/util/qquickanimation.cpp | 26 | ||||
-rw-r--r-- | src/quick/util/qquickanimation_p_p.h | 2 |
2 files changed, 14 insertions, 14 deletions
diff --git a/src/quick/util/qquickanimation.cpp b/src/quick/util/qquickanimation.cpp index cfa8d3a51a..bfdc863d10 100644 --- a/src/quick/util/qquickanimation.cpp +++ b/src/quick/util/qquickanimation.cpp @@ -1270,7 +1270,7 @@ QAbstractAnimationJob* QQuickPropertyAction::transition(QQuickStateActions &acti myAction.property = d->createProperty(targets.at(j), props.at(i), this); if (myAction.property.isValid()) { myAction.toValue = d->value; - QQuickPropertyAnimationPrivate::convertVariant(myAction.toValue, myAction.property.propertyType()); + QQuickPropertyAnimationPrivate::convertVariant(myAction.toValue, myAction.property.propertyMetaType()); data->actions << myAction; hasExplicit = true; for (int ii = 0; ii < actions.count(); ++ii) { @@ -1303,7 +1303,7 @@ QAbstractAnimationJob* QQuickPropertyAction::transition(QQuickStateActions &acti if (d->value.isValid()) myAction.toValue = d->value; - QQuickPropertyAnimationPrivate::convertVariant(myAction.toValue, myAction.property.propertyType()); + QQuickPropertyAnimationPrivate::convertVariant(myAction.toValue, myAction.property.propertyMetaType()); modified << action.property; data->actions << myAction; @@ -1962,14 +1962,14 @@ QAbstractAnimationJob* QQuickParallelAnimation::transition(QQuickStateActions &a } //convert a variant from string type to another animatable type -void QQuickPropertyAnimationPrivate::convertVariant(QVariant &variant, int type) +void QQuickPropertyAnimationPrivate::convertVariant(QVariant &variant, QMetaType type) { if (variant.userType() != QMetaType::QString) { - variant.convert(QMetaType(type)); + variant.convert(type); return; } - switch (type) { + switch (type.id()) { case QMetaType::QRect: case QMetaType::QRectF: case QMetaType::QPoint: @@ -1980,14 +1980,14 @@ void QQuickPropertyAnimationPrivate::convertVariant(QVariant &variant, int type) case QMetaType::QVector3D: { bool ok = false; - variant = QQmlStringConverters::variantFromString(variant.toString(), type, &ok); + variant = QQmlStringConverters::variantFromString(variant.toString(), type.id(), &ok); } break; default: - if (QQmlValueTypeFactory::isValueType((uint)type)) { + if (QQmlValueTypeFactory::isValueType(type)) { variant.convert(QMetaType(type)); } else { - QQmlMetaType::StringConverter converter = QQmlMetaType::customStringConverter(type); + QQmlMetaType::StringConverter converter = QQmlMetaType::customStringConverter(type.id()); if (converter) variant = converter(variant.toString()); } @@ -2599,7 +2599,7 @@ void QQuickAnimationPropertyUpdater::setValue(qreal v) if (!fromSourced && !fromDefined) { action.fromValue = action.property.read(); if (interpolatorType) { - QQuickPropertyAnimationPrivate::convertVariant(action.fromValue, interpolatorType); + QQuickPropertyAnimationPrivate::convertVariant(action.fromValue, QMetaType(interpolatorType)); } } if (!interpolatorType) { @@ -2681,10 +2681,10 @@ QQuickStateActions QQuickPropertyAnimation::createTransitionActions(QQuickStateA if (d->fromIsDefined) { myAction.fromValue = d->from; - d->convertVariant(myAction.fromValue, d->interpolatorType ? d->interpolatorType : myAction.property.propertyType()); + d->convertVariant(myAction.fromValue, d->interpolatorType ? QMetaType(d->interpolatorType) : myAction.property.propertyMetaType()); } myAction.toValue = d->to; - d->convertVariant(myAction.toValue, d->interpolatorType ? d->interpolatorType : myAction.property.propertyType()); + d->convertVariant(myAction.toValue, d->interpolatorType ? QMetaType(d->interpolatorType) : myAction.property.propertyMetaType()); newActions << myAction; hasExplicit = true; for (int ii = 0; ii < actions.count(); ++ii) { @@ -2730,8 +2730,8 @@ QQuickStateActions QQuickPropertyAnimation::createTransitionActions(QQuickStateA if (d->toIsDefined) myAction.toValue = d->to; - d->convertVariant(myAction.fromValue, d->interpolatorType ? d->interpolatorType : myAction.property.propertyType()); - d->convertVariant(myAction.toValue, d->interpolatorType ? d->interpolatorType : myAction.property.propertyType()); + d->convertVariant(myAction.fromValue, d->interpolatorType ? QMetaType(d->interpolatorType) : myAction.property.propertyMetaType()); + d->convertVariant(myAction.toValue, d->interpolatorType ? QMetaType(d->interpolatorType) : myAction.property.propertyMetaType()); modified << action.property; diff --git a/src/quick/util/qquickanimation_p_p.h b/src/quick/util/qquickanimation_p_p.h index 98d4751d1f..1b62f97faf 100644 --- a/src/quick/util/qquickanimation_p_p.h +++ b/src/quick/util/qquickanimation_p_p.h @@ -296,7 +296,7 @@ public: QQuickStateActions *actions; static QVariant interpolateVariant(const QVariant &from, const QVariant &to, qreal progress); - static void convertVariant(QVariant &variant, int type); + static void convertVariant(QVariant &variant, QMetaType type); }; class QQuickRotationAnimationPrivate : public QQuickPropertyAnimationPrivate |