--- git.orig/qcm/qjson.qcm
+++ git/qcm/qjson.qcm
@@ -104,6 +104,7 @@ public:
QString shortname() const { return "qjson"; }
bool exec()
{
+#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
// get the build mode
#ifdef QC_BUILDMODE
bool release = qc_buildmode_release;
@@ -158,5 +159,8 @@ public:
}
return false;
+#else
+ return true;
+#endif
}
};
--- git.orig/src/eventdb.cpp
+++ git/src/eventdb.cpp
@@ -30,9 +30,14 @@
#include <QDateTime>
#include <QSqlError>
#include <QSqlDriver>
+#ifndef HAVE_QT5
#include <qjson/parser.h>
#include "qjson/serializer.h"
-
+#else
+#include <QJsonArray>
+#include <QJsonDocument>
+#include <QJsonObject>
+#endif
#include "common.h"
#include "applicationinfo.h"
#include "psievent.h"
@@ -1388,8 +1393,14 @@ bool EDBSqLite::appendEvent(const QStrin
urlList.append(QVariant(urlItem));
}
xepList["jabber:x:oob"] = QVariant(urlList);
+#ifndef HAVE_QT5
QJson::Serializer serializer;
extraData = QString::fromUtf8(serializer.serialize(xepList));
+#else
+ QJsonDocument doc(QJsonObject::fromVariantMap(xepList));
+ extraData = QString::fromUtf8(doc.toBinaryData());
+#endif
+
}
query->bindValue(":extra_data", extraData);
}
@@ -1430,9 +1441,17 @@ PsiEvent::Ptr EDBSqLite::getEvent(const
m.setSpooled(true);
QString extraStr = record.value("extra_data").toString();
if (!extraStr.isEmpty()) {
+#ifndef HAVE_QT5
QJson::Parser parser;
+#endif
bool fOk;
+#ifndef HAVE_QT5
QVariantMap extraData = parser.parse(extraStr.toUtf8(), &fOk).toMap();
+#else
+ QJsonDocument doc = QJsonDocument::fromJson(extraStr.toUtf8());
+ fOk = !doc.isNull();
+ QVariantMap extraData = doc.object().toVariantMap();
+#endif
if (fOk) {
foreach (const QVariant &urlItem, extraData["jabber:x:oob"].toList()) {
QVariantList itemList = urlItem.toList();