From 6ee7df95144f1942d3e5f03c356cdcc9212fd8f6 Mon Sep 17 00:00:00 2001 From: Leo Franchi <lfranchi@kde.org> Date: Mon, 17 Oct 2011 12:36:56 -0400 Subject: [PATCH] Resolve top-down --- src/libtomahawk/playlist/playlistmodel.cpp | 6 ++++++ src/libtomahawk/playlist/playlistmodel.h | 2 ++ src/libtomahawk/widgets/whatshotwidget.cpp | 8 ++++++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/playlist/playlistmodel.cpp b/src/libtomahawk/playlist/playlistmodel.cpp index df734bf24..c8a2b61dc 100644 --- a/src/libtomahawk/playlist/playlistmodel.cpp +++ b/src/libtomahawk/playlist/playlistmodel.cpp @@ -186,6 +186,12 @@ PlaylistModel::clear() } } +void +PlaylistModel::append( const QList< query_ptr >& queries ) +{ + onTracksAdded( queries ); +} + void PlaylistModel::append( const Tomahawk::query_ptr& query ) diff --git a/src/libtomahawk/playlist/playlistmodel.h b/src/libtomahawk/playlist/playlistmodel.h index 288f97e0d..4f4b031fd 100644 --- a/src/libtomahawk/playlist/playlistmodel.h +++ b/src/libtomahawk/playlist/playlistmodel.h @@ -66,6 +66,8 @@ public: void append( const Tomahawk::album_ptr& album ); void append( const Tomahawk::artist_ptr& artist ); + void append( const QList< Tomahawk::query_ptr >& queries ); + void insert( unsigned int row, const Tomahawk::query_ptr& query ); void remove( unsigned int row, bool moreToCome = false ); diff --git a/src/libtomahawk/widgets/whatshotwidget.cpp b/src/libtomahawk/widgets/whatshotwidget.cpp index f3477bc6c..e3174cf2b 100644 --- a/src/libtomahawk/widgets/whatshotwidget.cpp +++ b/src/libtomahawk/widgets/whatshotwidget.cpp @@ -37,6 +37,7 @@ #include "utils/tomahawkutils.h" #include "utils/logger.h" #include <dynamic/GeneratorInterface.h> +#include <pipeline.h> #define HISTORY_TRACK_ITEMS 25 #define HISTORY_PLAYLIST_ITEMS 10 @@ -224,11 +225,14 @@ WhatsHotWidget::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestDat PlaylistModel* trackModel = new PlaylistModel( ui->tracksViewLeft ); trackModel->setStyle( TrackModel::Short ); + QList<query_ptr> tracklist; foreach ( const Tomahawk::InfoSystem::ArtistTrackPair& track, tracks ) { - query_ptr query = Query::get( track.artist, track.track, QString(), uuid() ); - trackModel->append( query ); + query_ptr query = Query::get( track.artist, track.track, QString(), uuid(), false ); + tracklist << query; } + Pipeline::instance()->resolve( tracklist ); + trackModel->append( tracklist ); const QString chartId = requestData.input.value< Tomahawk::InfoSystem::InfoCriteriaHash >().value( "chart_id" ); m_trackModels[ chartId ] = trackModel;