Deckstats: move QUrl handling into its own function; better separation of qt4/qt5 code

This commit is contained in:
Fabio Bas 2014-06-25 09:07:02 +02:00
parent 6dbdaafb33
commit 7035150351
2 changed files with 17 additions and 6 deletions

View file

@ -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");

View file

@ -3,6 +3,7 @@
#include <QObject>
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);