From f5de7e0a3f022849f336815f4e1db3fa50673b43 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 5 Mar 2014 17:46:52 +0000 Subject: [PATCH 1/2] Add method to get encodedQuery independent of Qt version --- src/libtomahawk/utils/TomahawkUtils.cpp | 10 ++++++++++ src/libtomahawk/utils/TomahawkUtils.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/libtomahawk/utils/TomahawkUtils.cpp b/src/libtomahawk/utils/TomahawkUtils.cpp index 129a6a86f..1cd3e031d 100644 --- a/src/libtomahawk/utils/TomahawkUtils.cpp +++ b/src/libtomahawk/utils/TomahawkUtils.cpp @@ -904,4 +904,14 @@ percentEncode( const QUrl& url ) return data; } +QByteArray +encodedQuery( const QUrl& url ) +{ +#if QT_VERSION >= QT_VERSION_CHECK( 5, 0, 0 ) + return url.query(QUrl::FullyEncoded).toUtf8(); +#else + return url.encodedQuery(); +#endif +} + } // ns diff --git a/src/libtomahawk/utils/TomahawkUtils.h b/src/libtomahawk/utils/TomahawkUtils.h index c40f58bd4..03cdfed68 100644 --- a/src/libtomahawk/utils/TomahawkUtils.h +++ b/src/libtomahawk/utils/TomahawkUtils.h @@ -213,6 +213,7 @@ namespace TomahawkUtils DLLEXPORT bool urlHasQueryItem( const QUrl& url, const QString& key ); DLLEXPORT QList > urlQueryItems( const QUrl& url ); DLLEXPORT void urlSetQuery( QUrl& url, const QString& query ); + DLLEXPORT QByteArray encodedQuery( const QUrl& url ); } From b96ebfc2ba4d0dbe3d00b4772aab5d69797ec94b Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Wed, 5 Mar 2014 17:47:24 +0000 Subject: [PATCH 2/2] Make QUrl command compatibale with Qt5 --- src/accounts/hatchet/account/HatchetAccount.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/accounts/hatchet/account/HatchetAccount.cpp b/src/accounts/hatchet/account/HatchetAccount.cpp index acd874deb..3c0652e2a 100644 --- a/src/accounts/hatchet/account/HatchetAccount.cpp +++ b/src/accounts/hatchet/account/HatchetAccount.cpp @@ -271,13 +271,13 @@ HatchetAccount::loginWithPassword( const QString& username, const QString& passw req.setHeader( QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded" ); QUrl params; - params.addQueryItem( "username", username ); - params.addQueryItem( "password", password ); - params.addQueryItem( "grant_type", "password" ); + TomahawkUtils::urlAddQueryItem( params, "username", username ); + TomahawkUtils::urlAddQueryItem( params, "password", password ); + TomahawkUtils::urlAddQueryItem( params, "grant_type", "password" ); if ( !otp.isEmpty() ) - params.addQueryItem( "otp", otp ); + TomahawkUtils::urlAddQueryItem( params, "otp", otp ); - QByteArray data = params.encodedQuery(); + QByteArray data = TomahawkUtils::encodedQuery( params ); QNetworkReply* reply = Tomahawk::Utils::nam()->post( req, data ); @@ -325,9 +325,9 @@ HatchetAccount::fetchAccessToken( const QString& type ) tLog() << "Intercepting; new mandella access token needed"; req.setHeader( QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded" ); QUrl params; - params.addQueryItem( "grant_type", "refresh_token" ); - params.addQueryItem( "refresh_token", refreshToken() ); - QByteArray data = params.encodedQuery(); + TomahawkUtils::urlAddQueryItem( params, "grant_type", "refresh_token" ); + TomahawkUtils::urlAddQueryItem( params, "refresh_token", refreshToken() ); + QByteArray data = TomahawkUtils::encodedQuery( params ); reply = Tomahawk::Utils::nam()->post( req, data ); reply->setProperty( "originalType", type ); }