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,21 +43,30 @@ void DeckStatsInterface::queryFinished(QNetworkReply *reply)
deleteLater(); deleteLater();
} }
void DeckStatsInterface::analyzeDeck(DeckList *deck) #if QT_VERSION < 0x050000
void DeckStatsInterface::getAnalyzeRequestData(DeckList *deck, QByteArray *data)
{ {
QUrl params; QUrl params;
#if QT_VERSION < 0x050000
params.addQueryItem("deck", deck->writeToString_Plain()); params.addQueryItem("deck", deck->writeToString_Plain());
QByteArray data; data->append(params.encodedQuery());
data.append(params.encodedQuery()); }
#else #else
void DeckStatsInterface::getAnalyzeRequestData(DeckList *deck, QByteArray *data)
{
QUrl params;
QUrlQuery urlQuery; QUrlQuery urlQuery;
urlQuery.addQueryItem("deck", deck->writeToString_Plain()); urlQuery.addQueryItem("deck", deck->writeToString_Plain());
params.setQuery(urlQuery); params.setQuery(urlQuery);
QByteArray data; data->append(params.query(QUrl::EncodeReserved));
data.append(params.query(QUrl::EncodeReserved)); }
#endif #endif
void DeckStatsInterface::analyzeDeck(DeckList *deck)
{
QByteArray data;
getAnalyzeRequestData(deck, &data);
QNetworkRequest request(QUrl("http://deckstats.net/index.php")); QNetworkRequest request(QUrl("http://deckstats.net/index.php"));
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded"); request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");

View file

@ -3,6 +3,7 @@
#include <QObject> #include <QObject>
class QByteArray;
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class DeckList; class DeckList;
@ -13,6 +14,7 @@ private:
QNetworkAccessManager *manager; QNetworkAccessManager *manager;
private slots: private slots:
void queryFinished(QNetworkReply *reply); void queryFinished(QNetworkReply *reply);
void getAnalyzeRequestData(DeckList *deck, QByteArray *data);
public: public:
DeckStatsInterface(QObject *parent = 0); DeckStatsInterface(QObject *parent = 0);
void analyzeDeck(DeckList *deck); void analyzeDeck(DeckList *deck);