aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2020-09-18 16:10:58 +0200
committerUlf Hermann <ulf.hermann@qt.io>2020-09-23 14:54:47 +0200
commit55158d25127173f4a96f2fa70fa7603fa81f8bd9 (patch)
tree011f38a9dccd0262e785d654378ced60a2e9bfa2
parentad6d92d1bd2cd90cf8164fd445ad76432314bfab (diff)
Eliminate QQmlValueTypeProvider::createVariantFromString()
This can be expressed as constructing the variant from a QJSValue. Change-Id: I3140958469423acdc498e26129e349bcfb601198 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r--src/qml/qml/qqmlglobal.cpp17
-rw-r--r--src/qml/qml/qqmlglobal_p.h5
-rw-r--r--src/qml/qml/qqmlstringconverters.cpp2
-rw-r--r--src/quick/util/qquickglobal.cpp52
4 files changed, 1 insertions, 75 deletions
diff --git a/src/qml/qml/qqmlglobal.cpp b/src/qml/qml/qqmlglobal.cpp
index 1fbb9889c2..73cc9abc93 100644
--- a/src/qml/qml/qqmlglobal.cpp
+++ b/src/qml/qml/qqmlglobal.cpp
@@ -93,22 +93,6 @@ bool QQmlValueTypeProvider::createValueFromString(int type, const QJSValue &s, Q
return false;
}
-QVariant QQmlValueTypeProvider::createVariantFromString(int type, const QString &s, bool *ok)
-{
- QVariant v;
-
- QQmlValueTypeProvider *p = this;
- do {
- if (p->variantFromString(type, s, &v)) {
- if (ok) *ok = true;
- return v;
- }
- } while ((p = p->next));
-
- if (ok) *ok = false;
- return QVariant();
-}
-
QVariant QQmlValueTypeProvider::createVariantFromJsObject(int type, const QJSValue &obj, bool *ok)
{
QVariant v;
@@ -169,7 +153,6 @@ bool QQmlValueTypeProvider::writeValueType(int type, const void *src, QVariant&
}
bool QQmlValueTypeProvider::create(int, const QJSValue &, QVariant *) { return false; }
-bool QQmlValueTypeProvider::variantFromString(int, const QString &, QVariant *) { return false; }
bool QQmlValueTypeProvider::store(int, const void *, void *, size_t) { return false; }
struct ValueTypeProviderList {
diff --git a/src/qml/qml/qqmlglobal_p.h b/src/qml/qml/qqmlglobal_p.h
index 39ef990bd5..722a3f4989 100644
--- a/src/qml/qml/qqmlglobal_p.h
+++ b/src/qml/qml/qqmlglobal_p.h
@@ -226,8 +226,6 @@ public:
QVariant createValueType(int, const QJSValue &params);
bool createValueFromString(int, const QJSValue &, QVariant *);
-
- QVariant createVariantFromString(int, const QString &, bool *);
QVariant createVariantFromJsObject(int, const QJSValue &, bool *);
bool equalValueType(int, const void *, const QVariant&);
@@ -237,9 +235,6 @@ public:
private:
virtual bool create(int, const QJSValue &params, QVariant *);
-
- virtual bool variantFromString(int, const QString &, QVariant *);
-
virtual bool store(int, const void *, void *, size_t);
friend Q_QML_PRIVATE_EXPORT void QQml_addValueTypeProvider(QQmlValueTypeProvider *);
diff --git a/src/qml/qml/qqmlstringconverters.cpp b/src/qml/qml/qqmlstringconverters.cpp
index 07d6f4846d..74dd5f431c 100644
--- a/src/qml/qml/qqmlstringconverters.cpp
+++ b/src/qml/qml/qqmlstringconverters.cpp
@@ -76,7 +76,7 @@ QVariant QQmlStringConverters::variantFromString(const QString &s, int preferred
case QMetaType::QRect:
return QVariant::fromValue(rectFFromString(s, ok).toRect());
default:
- return QQml_valueTypeProvider()->createVariantFromString(preferredType, s, ok);
+ return QQml_valueTypeProvider()->createVariantFromJsObject(preferredType, QJSValue(s), ok);
}
}
diff --git a/src/quick/util/qquickglobal.cpp b/src/quick/util/qquickglobal.cpp
index 48b882c218..90b3139b33 100644
--- a/src/quick/util/qquickglobal.cpp
+++ b/src/quick/util/qquickglobal.cpp
@@ -671,58 +671,6 @@ public:
}
template<typename T>
- bool createFromStringTyped(void *data, size_t dataSize, T initValue)
- {
- ASSERT_VALID_SIZE(dataSize, sizeof(T));
- T *t = reinterpret_cast<T *>(data);
- new (t) T(initValue);
- return true;
- }
-
- bool variantFromString(int type, const QString &s, QVariant *v) override
- {
- bool ok = false;
-
- switch (type) {
- case QMetaType::QColor:
- {
- QColor c(s);
- *v = QVariant::fromValue(c);
- return true;
- }
- case QMetaType::QVector2D:
- {
- *v = QVariant::fromValue(vector2DFromString(s, &ok));
- return true;
- }
- case QMetaType::QVector3D:
- {
- *v = QVariant::fromValue(vector3DFromString(s, &ok));
- return true;
- }
- case QMetaType::QVector4D:
- {
- *v = QVariant::fromValue(vector4DFromString(s, &ok));
- return true;
- }
- case QMetaType::QQuaternion:
- {
- *v = QVariant::fromValue(quaternionFromString(s, &ok));
- return true;
- }
- case QMetaType::QMatrix4x4:
- {
- *v = QVariant::fromValue(matrix4x4FromString(s, &ok));
- return true;
- }
- default:
- break;
- }
-
- return false;
- }
-
- template<typename T>
bool typedStore(const void *src, void *dst, size_t dstSize)
{
ASSERT_VALID_SIZE(dstSize, sizeof(T));