diff --git a/.travis.yml b/.travis.yml
index d11917904..b795a7a88 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -11,8 +11,8 @@ before_install:
install:
- sudo apt-get -qq update
- - sudo apt-get -qq install libssl-dev pkg-config libhunspell-dev libqjson-dev
- - if [[ "$QT" == "qt4" ]]; then sudo apt-get -qq install libqt4-dev libqt4-webkit libqt4-sql-sqlite; fi
+ - sudo apt-get -qq install libssl-dev pkg-config libhunspell-dev
+ - if [[ "$QT" == "qt4" ]]; then sudo apt-get -qq install libqt4-dev libqt4-webkit libqt4-sql-sqlite libqjson-dev; fi
- if [[ "$QT" == "qt5" ]]; then sudo apt-add-repository -y ppa:beineri/opt-qt511; sudo apt-get update -qq; sudo apt-get install -qq qt51base qt51webkit qt51tools qt51script libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev; fi
script:
diff --git a/README.md b/README.md
index 863bf6c25..78a069c6e 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
QupZilla Web Browser
----------------------------------------------------------------------------------------
-[](https://travis-ci.org/QupZilla/qupzilla)
+[](https://travis-ci.org/QupZilla/qupzilla)
Homepage: [http://www.qupzilla.com](http://www.qupzilla.com)
Blog: [http://blog.qupzilla.com](http://blog.qupzilla.com)
IRC: `#qupzilla` at `irc.freenode.net`
diff --git a/src/lib/lib.pro b/src/lib/lib.pro
index f1499f657..1d25e827f 100644
--- a/src/lib/lib.pro
+++ b/src/lib/lib.pro
@@ -508,13 +508,17 @@ isEqual(QT_MAJOR_VERSION, 5) {
SOURCES += tools/qzregexp.cpp
}
+!isEqual(QT_MAJOR_VERSION, 5) {
+ LIBS += -lqjson
+}
+
!mac:unix {
target.path = $$library_folder
INSTALLS += target
!contains(DEFINES, NO_X11):LIBS += -lX11
- LIBS += -lcrypto -lqjson
+ LIBS += -lcrypto
RESOURCES -= data/certs.qrc
}
@@ -523,11 +527,11 @@ win32 {
HEADERS += other/registerqappassociation.h
SOURCES += other/registerqappassociation.cpp
- LIBS += -llibeay32 -lqjson
+ LIBS += -llibeay32
}
os2 {
- LIBS += -lcrypto -lqjson
+ LIBS += -lcrypto
}
mac {
@@ -537,7 +541,7 @@ mac {
webview/macwebviewscroller.cpp
RESOURCES -= data/certs.qrc
- LIBS += -lcrypto -lqjson -framework CoreServices
+ LIBS += -lcrypto -framework CoreServices
}
message(===========================================)
diff --git a/src/lib/tools/json.cpp b/src/lib/tools/json.cpp
index c1c82198c..3a07078aa 100644
--- a/src/lib/tools/json.cpp
+++ b/src/lib/tools/json.cpp
@@ -16,18 +16,44 @@
* along with this program. If not, see .
* ============================================================ */
#include "json.h"
+
+#if QT_VERSION < 0x050000
#include
#include
+#else
+#include
+#endif
QVariant Json::parse(const QByteArray &data, bool *ok)
{
+#if QT_VERSION < 0x050000
QJson::Parser parser;
return parser.parse(data, ok);
+#else
+ QJsonParseError error;
+ QJsonDocument doc = QJsonDocument::fromJson(data, &error);
+
+ if (ok) {
+ *ok = error.error == QJsonParseError::NoError;
+ }
+
+ return doc.toVariant();
+#endif
}
QByteArray Json::serialize(const QVariant &variant, bool *ok)
{
+#if QT_VERSION < 0x050000
QJson::Serializer serializer;
serializer.setIndentMode(QJson::IndentFull);
return serializer.serialize(variant, ok);
+#else
+ QJsonDocument doc = QJsonDocument::fromVariant(variant);
+
+ if (ok) {
+ *ok = !doc.isNull();
+ }
+
+ return doc.toJson(QJsonDocument::Indented);
+#endif
}