From 7035150351c3b9f013a55af9db00097b8f8bd77c Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Wed, 25 Jun 2014 09:07:02 +0200 Subject: [PATCH] Deckstats: move QUrl handling into its own function; better separation of qt4/qt5 code --- cockatrice/src/deckstats_interface.cpp | 21 +++++++++++++++------ cockatrice/src/deckstats_interface.h | 2 ++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/cockatrice/src/deckstats_interface.cpp b/cockatrice/src/deckstats_interface.cpp index 4eb62d20..245e04c2 100644 --- a/cockatrice/src/deckstats_interface.cpp +++ b/cockatrice/src/deckstats_interface.cpp @@ -43,20 +43,29 @@ void DeckStatsInterface::queryFinished(QNetworkReply *reply) deleteLater(); } -void DeckStatsInterface::analyzeDeck(DeckList *deck) +#if QT_VERSION < 0x050000 +void DeckStatsInterface::getAnalyzeRequestData(DeckList *deck, QByteArray *data) { QUrl params; -#if QT_VERSION < 0x050000 params.addQueryItem("deck", deck->writeToString_Plain()); - QByteArray data; - data.append(params.encodedQuery()); + data->append(params.encodedQuery()); +} #else +void DeckStatsInterface::getAnalyzeRequestData(DeckList *deck, QByteArray *data) +{ + QUrl params; QUrlQuery urlQuery; urlQuery.addQueryItem("deck", deck->writeToString_Plain()); params.setQuery(urlQuery); - QByteArray data; - data.append(params.query(QUrl::EncodeReserved)); + data->append(params.query(QUrl::EncodeReserved)); +} #endif + + +void DeckStatsInterface::analyzeDeck(DeckList *deck) +{ + QByteArray data; + getAnalyzeRequestData(deck, &data); QNetworkRequest request(QUrl("http://deckstats.net/index.php")); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); diff --git a/cockatrice/src/deckstats_interface.h b/cockatrice/src/deckstats_interface.h index e8454dd5..756f917d 100644 --- a/cockatrice/src/deckstats_interface.h +++ b/cockatrice/src/deckstats_interface.h @@ -3,6 +3,7 @@ #include +class QByteArray; class QNetworkAccessManager; class QNetworkReply; class DeckList; @@ -13,6 +14,7 @@ private: QNetworkAccessManager *manager; private slots: void queryFinished(QNetworkReply *reply); + void getAnalyzeRequestData(DeckList *deck, QByteArray *data); public: DeckStatsInterface(QObject *parent = 0); void analyzeDeck(DeckList *deck);