From b15bef72df6fe0d52ee56e879c7398a70ebb14a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20Lindstr=C3=B6m?= Date: Tue, 4 Oct 2011 09:35:05 +0200 Subject: [PATCH] Artist browse with limit --- src/libtomahawk/utils/spotifyparser.cpp | 20 ++++++++++++++------ src/libtomahawk/utils/spotifyparser.h | 2 +- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/libtomahawk/utils/spotifyparser.cpp b/src/libtomahawk/utils/spotifyparser.cpp index c21fc2bde..b0c6cf3f4 100644 --- a/src/libtomahawk/utils/spotifyparser.cpp +++ b/src/libtomahawk/utils/spotifyparser.cpp @@ -43,6 +43,7 @@ SpotifyParser::SpotifyParser( const QStringList& Urls, bool createNewPlaylist, Q , m_trackMode( true ) , m_createNewPlaylist( createNewPlaylist ) , m_browseJob( 0 ) + , m_limit ( 40 ) { foreach ( const QString& url, Urls ) @@ -55,6 +56,7 @@ SpotifyParser::SpotifyParser( const QString& Url, bool createNewPlaylist, QObjec , m_trackMode( true ) , m_createNewPlaylist( createNewPlaylist ) , m_browseJob( 0 ) + , m_limit ( 40 ) { lookupUrl( Url ); } @@ -100,12 +102,6 @@ SpotifyParser::lookupSpotifyBrowse( const QString& linkRaw ) } - QUrl url = QUrl( QString( SPOTIFY_PLAYLIST_API_URL "/browse/%1" ).arg( browseUri ) ); - tDebug() << "Looking up URL..." << url.toString(); - - QNetworkReply* reply = TomahawkUtils::nam()->get( QNetworkRequest( url ) ); - connect( reply, SIGNAL( finished() ), this, SLOT( spotifyBrowseFinished() ) ); - DropJob::DropType type; if ( browseUri.contains( "spotify:user" ) ) @@ -117,6 +113,18 @@ SpotifyParser::lookupSpotifyBrowse( const QString& linkRaw ) if ( browseUri.contains( "spotify:track" ) ) type = DropJob::Track; + QUrl url; + + if( type != DropJob::Artist ) + url = QUrl( QString( SPOTIFY_PLAYLIST_API_URL "/browse/%1" ).arg( browseUri ) ); + else + url = QUrl( QString( SPOTIFY_PLAYLIST_API_URL "/browse/%1/%2" ).arg( browseUri ) + .arg ( m_limit ) ); + tDebug() << "Looking up URL..." << url.toString(); + + QNetworkReply* reply = TomahawkUtils::nam()->get( QNetworkRequest( url ) ); + connect( reply, SIGNAL( finished() ), this, SLOT( spotifyBrowseFinished() ) ); + m_browseJob = new DropJobNotifier( pixmap(), "Spotify", type, reply ); JobStatusView::instance()->model()->addJob( m_browseJob ); diff --git a/src/libtomahawk/utils/spotifyparser.h b/src/libtomahawk/utils/spotifyparser.h index dee587b97..a4e544c31 100644 --- a/src/libtomahawk/utils/spotifyparser.h +++ b/src/libtomahawk/utils/spotifyparser.h @@ -74,7 +74,7 @@ private: void lookupSpotifyBrowse( const QString& playlist ); void checkTrackFinished(); void checkBrowseFinished(); - + int m_limit; bool m_single; bool m_trackMode; bool m_createNewPlaylist;