From b83dc929ec851b81c1236ea4fbeb7f9ad6239565 Mon Sep 17 00:00:00 2001 From: Sze Howe Koh Date: Tue, 4 Mar 2014 20:48:31 +0800 Subject: Complete QJsonValue::fromVariant() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - QVariant can store (U)Int, (U)LongLong, Float and Double numbers. Previously, QJsonValue::fromVariant() converted Floats into Strings while converting the others to Doubles. - Add unit tests for QJsonValue::fromVariant() [ChangeLog][QtCore][JSON] QJsonValue::fromVariant() will now convert single-precision Floats into Doubles instead of Strings Change-Id: I457adbe29c37ada611d1c6d711c42866d63d4024 Reviewed-by: Lars Knoll Reviewed-by: Jędrzej Nowacki --- src/corelib/json/qjsonvalue.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/corelib/json/qjsonvalue.cpp') diff --git a/src/corelib/json/qjsonvalue.cpp b/src/corelib/json/qjsonvalue.cpp index e5194f7336..4c4838d314 100644 --- a/src/corelib/json/qjsonvalue.cpp +++ b/src/corelib/json/qjsonvalue.cpp @@ -360,6 +360,7 @@ QJsonValue &QJsonValue::operator =(const QJsonValue &other) \li QMetaType::UInt \li QMetaType::LongLong \li QMetaType::ULongLong + \li QMetaType::Float \li QMetaType::Double \endlist \li QJsonValue::Double @@ -391,10 +392,11 @@ QJsonValue &QJsonValue::operator =(const QJsonValue &other) */ QJsonValue QJsonValue::fromVariant(const QVariant &variant) { - switch (variant.type()) { + switch (variant.userType()) { case QVariant::Bool: return QJsonValue(variant.toBool()); case QVariant::Int: + case QMetaType::Float: case QVariant::Double: case QVariant::LongLong: case QVariant::ULongLong: -- cgit v1.2.3