diff --git a/src/libtomahawk/widgets/whatshotwidget.cpp b/src/libtomahawk/widgets/whatshotwidget.cpp index 26c83a7fd..a41bfea08 100644 --- a/src/libtomahawk/widgets/whatshotwidget.cpp +++ b/src/libtomahawk/widgets/whatshotwidget.cpp @@ -58,6 +58,8 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent ) TomahawkUtils::unmarginLayout( ui->horizontalLayout->layout() ); TomahawkUtils::unmarginLayout( ui->horizontalLayout_2->layout() ); TomahawkUtils::unmarginLayout( ui->breadCrumbLeft->layout() ); + TomahawkUtils::unmarginLayout( ui->verticalLayout2->layout() ); + //set crumb widgets @@ -79,9 +81,8 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent ) ui->breadCrumbRight->setUseAnimation(true);*/ - m_tracksModel = new TreeModel( ui->tracksViewLeft ); - ui->tracksViewLeft->setTreeModel( m_tracksModel ); - + m_tracksModel = new PlaylistModel( ui->tracksViewLeft ); + m_tracksModel->setStyle( TrackModel::ShortWithAvatars ); ui->tracksViewLeft->setFrameShape( QFrame::NoFrame ); @@ -110,6 +111,12 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent ) ui->artistsViewLeft->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); ui->artistsViewLeft->header()->setVisible( false ); + ui->albumsViewLeft->setFrameShape( QFrame::NoFrame ); + ui->albumsViewLeft->setAttribute( Qt::WA_MacShowFocusRect, 0 ); + + m_albumsModel = new AlbumModel( ui->albumsViewLeft ); + ui->albumsViewLeft->setAlbumModel( m_albumsModel ); + m_timer = new QTimer( this ); connect( m_timer, SIGNAL( timeout() ), SLOT( checkQueries() ) ); @@ -210,21 +217,23 @@ WhatsHotWidget::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestDat } else if( type == "albums" ) { - setLeftViewArtists(); - m_artistsModel->clear(); - + setLeftViewAlbums(); + m_albumsModel->clear(); + QList al; const QList albums = returnedData["albums"].value >(); tDebug( LOGVERBOSE ) << "WhatsHot: got albums! " << albums.size(); foreach ( const Tomahawk::InfoSystem::ArtistAlbumPair& album, albums ) { - //query_ptr query = Query::get( album.artist, QString(), album.album, uuid() ); - artist_ptr artistPtr = Artist::get( album.artist ); - //album_ptr albumPtr = Album::get( 0, album.album, artistPtr ); + qDebug() << "Getting album" << album.album << "By" << album.artist; + album_ptr albumPtr = Album::get( 0, album.album, Artist::get( album.artist ) ); + al << albumPtr; - m_artistsModel->addArtists( artistPtr ); - //m_albumsModel->append( query ); } + qDebug() << "Adding albums to model"; + m_albumsModel->addAlbums( al ); + qDebug() << "Added albums"; + } else if( type == "tracks" ) { @@ -354,6 +363,13 @@ WhatsHotWidget::parseNode(QStandardItem* parentItem, const QString &label, const } +void +WhatsHotWidget::setLeftViewAlbums() +{ + ui->stackLeft->setCurrentIndex(2); +} + + void WhatsHotWidget::setLeftViewArtists() { diff --git a/src/libtomahawk/widgets/whatshotwidget.h b/src/libtomahawk/widgets/whatshotwidget.h index 6da5eb23a..e3dd0ff37 100644 --- a/src/libtomahawk/widgets/whatshotwidget.h +++ b/src/libtomahawk/widgets/whatshotwidget.h @@ -37,6 +37,7 @@ class TreeModel; class PlaylistModel; class OverlayWidget; class TreeProxyModel; +class AlbumModel; namespace Ui { @@ -83,8 +84,10 @@ private slots: private: void setLeftViewArtists(); + void setLeftViewAlbums(); void setLeftViewTracks(); + QStandardItem* parseNode( QStandardItem* parentItem, const QString &label, const QVariant &data ); Ui::WhatsHotWidget *ui; @@ -92,7 +95,7 @@ private: TreeModel* m_artistsModel; TreeProxyModel* m_artistsProxy; QStandardItemModel* m_crumbModelLeft; - TreeModel* m_albumsModel; + AlbumModel* m_albumsModel; QTimer* m_timer; }; diff --git a/src/libtomahawk/widgets/whatshotwidget.ui b/src/libtomahawk/widgets/whatshotwidget.ui index 902455cfb..c1e857163 100644 --- a/src/libtomahawk/widgets/whatshotwidget.ui +++ b/src/libtomahawk/widgets/whatshotwidget.ui @@ -44,20 +44,43 @@ + + + + + + + + + 320 + 0 + + + + + + + + - PlaylistView - QTreeView -
playlist/playlistview.h
+ AlbumView + QListView +
playlist/albumview.h
ArtistView QTreeView -
artistview.h
+
artistview.h
+
+ + PlaylistView + QTreeView +
playlist/playlistview.h
HeaderBreadCrumb