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 ---------------------------------------------------------------------------------------- -[![Build Status](https://travis-ci.org/QupZilla/qupzilla.png?branch=master)](https://travis-ci.org/QupZilla/qupzilla) +[![Build Status](https://travis-ci.org/QupZilla/qupzilla.png?branch=bookmarks)](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 }