1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-07-31 11:20:22 +02:00

Artist browse with limit

This commit is contained in:
Hugo Lindström
2011-10-04 09:35:05 +02:00
parent 0aa65e2d95
commit b15bef72df
2 changed files with 15 additions and 7 deletions

View File

@@ -43,6 +43,7 @@ SpotifyParser::SpotifyParser( const QStringList& Urls, bool createNewPlaylist, Q
, m_trackMode( true ) , m_trackMode( true )
, m_createNewPlaylist( createNewPlaylist ) , m_createNewPlaylist( createNewPlaylist )
, m_browseJob( 0 ) , m_browseJob( 0 )
, m_limit ( 40 )
{ {
foreach ( const QString& url, Urls ) foreach ( const QString& url, Urls )
@@ -55,6 +56,7 @@ SpotifyParser::SpotifyParser( const QString& Url, bool createNewPlaylist, QObjec
, m_trackMode( true ) , m_trackMode( true )
, m_createNewPlaylist( createNewPlaylist ) , m_createNewPlaylist( createNewPlaylist )
, m_browseJob( 0 ) , m_browseJob( 0 )
, m_limit ( 40 )
{ {
lookupUrl( Url ); 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; DropJob::DropType type;
if ( browseUri.contains( "spotify:user" ) ) if ( browseUri.contains( "spotify:user" ) )
@@ -117,6 +113,18 @@ SpotifyParser::lookupSpotifyBrowse( const QString& linkRaw )
if ( browseUri.contains( "spotify:track" ) ) if ( browseUri.contains( "spotify:track" ) )
type = DropJob::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 ); m_browseJob = new DropJobNotifier( pixmap(), "Spotify", type, reply );
JobStatusView::instance()->model()->addJob( m_browseJob ); JobStatusView::instance()->model()->addJob( m_browseJob );

View File

@@ -74,7 +74,7 @@ private:
void lookupSpotifyBrowse( const QString& playlist ); void lookupSpotifyBrowse( const QString& playlist );
void checkTrackFinished(); void checkTrackFinished();
void checkBrowseFinished(); void checkBrowseFinished();
int m_limit;
bool m_single; bool m_single;
bool m_trackMode; bool m_trackMode;
bool m_createNewPlaylist; bool m_createNewPlaylist;