void NetworkActivityWidget::showTopLoved() { Q_D( NetworkActivityWidget ); d->activeView = TopLoved; if ( d->topLovedModel.isNull() ) { TopLovedTracksModel* model = new TopLovedTracksModel( this ); model->setLimit( numberOfNetworkChartEntries ); model->setSource( source_ptr() ); d->topLovedModel = model; } d->ui->tracksViewLeft->setPlaylistModel( d->topLovedModel ); d->ui->tracksViewLeft->setAutoResize( true ); }
void LovedTracksItem::activate() { if ( !m_lovedTracksPage ) { SourceItem* par = dynamic_cast< SourceItem* >( parent() ); PlaylistViewPage* pv = new PlaylistViewPage( ViewManager::instance()->widget() ); pv->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::LovedPlaylist, TomahawkUtils::Original, QSize( 128, 128 ) ) ); TopLovedTracksModel* raModel = new TopLovedTracksModel( pv ); raModel->setTitle( text() ); TrackItemDelegate* del = new TrackItemDelegate( TrackItemDelegate::LovedTracks, pv->view()->trackView(), pv->view()->trackView()->proxyModel() ); pv->view()->trackView()->setPlaylistItemDelegate( del ); pv->view()->trackView()->setEmptyTip( tr( "Sorry, we could not find any of your Favorites!" ) ); if ( !par ) { raModel->setDescription( tr( "The most loved tracks from all your friends" ) ); pv->view()->setGuid( QString( "lovedtracks" ) ); } else { if ( par->source()->isLocal() ) raModel->setDescription( tr( "All of your loved tracks" ) ); else raModel->setDescription( tr( "All of %1's loved tracks" ).arg( par->source()->friendlyName() ) ); pv->view()->setGuid( QString( "lovedtracks/%1" ).arg( par->source()->nodeId() ) ); } pv->view()->trackView()->setPlayableModel( raModel ); raModel->setSource( !par ? source_ptr() : par->source() ); m_lovedTracksPage = pv; } ViewManager::instance()->show( m_lovedTracksPage ); model()->linkSourceItemToPage( this, m_lovedTracksPage ); }