marcdeop / rpms / psi-plus

Forked from rpms/psi-plus 3 years ago
Clone
Blob Blame History Raw
--- 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();