aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/util
diff options
context:
space:
mode:
authorFabian Kosmale <fabian.kosmale@qt.io>2020-11-27 13:48:11 +0100
committerFabian Kosmale <fabian.kosmale@qt.io>2020-12-03 10:38:43 +0100
commit77c02343e2c86bd80994882d709fe12f745705ba (patch)
tree214ae179c7d62f4328aaf75b6447e08c5a5c7d32 /src/quick/util
parent76aa1d578d0eb0e819bac34292f2788853dc5199 (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.cpp26
-rw-r--r--src/quick/util/qquickanimation_p_p.h2
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