From 27ce1eb914ef617e1a9830e56cd32e9cf08db0f1 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Fri, 8 May 2015 20:23:44 +0100 Subject: [PATCH] Added toJson/convertFromJson support for CVariant containing QDateTime, QDate, QTime. (cherry picked from commit af7f032daf4e5031a881bfb5025734d38817ed97) --- src/blackmisc/variant.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/blackmisc/variant.cpp b/src/blackmisc/variant.cpp index e07702e50..272674ead 100644 --- a/src/blackmisc/variant.cpp +++ b/src/blackmisc/variant.cpp @@ -89,6 +89,9 @@ namespace BlackMisc case QVariant::String: json.insert("value", m_v.toString()); case QVariant::Char: json.insert("value", m_v.toString()); case QVariant::ByteArray: json.insert("value", m_v.toString()); + case QVariant::DateTime: json.insert("value", m_v.toDateTime().toString(Qt::ISODate)); + case QVariant::Date: json.insert("value", m_v.toDate().toString(Qt::ISODate)); + case QVariant::Time: json.insert("value", m_v.toTime().toString(Qt::ISODate)); default: try { @@ -130,6 +133,9 @@ namespace BlackMisc case QVariant::String: m_v.setValue(json.value("value").toString()); case QVariant::Char: m_v.setValue(json.value("value").toString().size() > 0 ? json.value("value").toString().at(0) : '\0'); case QVariant::ByteArray: m_v.setValue(json.value("value").toString().toLatin1()); + case QVariant::DateTime: m_v.setValue(QDateTime::fromString(json.value("value").toString(), Qt::ISODate)); + case QVariant::Date: m_v.setValue(QDate::fromString(json.value("value").toString(), Qt::ISODate)); + case QVariant::Time: m_v.setValue(QTime::fromString(json.value("value").toString(), Qt::ISODate)); default: try {