mirror of
https://invent.kde.org/network/falkon.git
synced 2024-12-20 02:36:34 +01:00
[Json] Use built-in QJSonDocument class in Qt 5
This commit is contained in:
parent
03186060aa
commit
c9a556658a
@ -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:
|
||||
|
@ -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`
|
||||
|
@ -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(===========================================)
|
||||
|
@ -16,18 +16,44 @@
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
* ============================================================ */
|
||||
#include "json.h"
|
||||
|
||||
#if QT_VERSION < 0x050000
|
||||
#include <qjson/parser.h>
|
||||
#include <qjson/serializer.h>
|
||||
#else
|
||||
#include <QJsonDocument>
|
||||
#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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user