diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index c0366d57f..70cde7a53 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -142,7 +142,9 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* f.setPointSize( 11 ); ui->topHitsMoreLabel->setFont( f ); + ui->albumsMoreLabel->setFont( f ); + connect( ui->albumsMoreLabel, SIGNAL( clicked() ), SLOT( onAlbumsMoreClicked() ) ); connect( ui->topHitsMoreLabel, SIGNAL( clicked() ), SLOT( onTopHitsMoreClicked() ) ); } @@ -184,6 +186,38 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* connect( topHitsFullView, SIGNAL( closeClicked() ), SLOT( onTopHitsMoreClosed() ) ); } + { + GridView* albumsFullView = new GridView( m_stackedWidget ); + // albumsFullView->setCaption( tr( "Albums" ) ); + // albumsFullView->setShowCloseButton( true ); + albumsFullView->setPlayableModel( m_albumsModel ); + albumsFullView->proxyModel()->setHideDupeItems( true ); + + CaptionLabel* captionLabel = new CaptionLabel( this ); + captionLabel->setText( tr( "Albums" ) ); + captionLabel->setShowCloseButton( true ); + + QWidget* vbox = new QWidget; + QPalette pal = vbox->palette(); + pal.setBrush( vbox->backgroundRole(), Qt::white ); + vbox->setPalette( pal ); + vbox->setAutoFillBackground( true ); + + QVBoxLayout* vboxl = new QVBoxLayout; + TomahawkUtils::unmarginLayout( vboxl ); + vboxl->setContentsMargins( 32, 32, 32, 32 ); + vboxl->setSpacing( 8 ); + vbox->setLayout( vboxl ); + + vboxl->addWidget( captionLabel ); + vboxl->addWidget( albumsFullView ); + vboxl->addStretch(); + vboxl->setStretchFactor( albumsFullView, 1 ); + + m_stackedWidget->addWidget( vbox ); + + connect( captionLabel, SIGNAL( clicked() ), SLOT( onTopHitsMoreClosed() ) ); + } { QVBoxLayout* layout = new QVBoxLayout(); @@ -304,6 +338,7 @@ ArtistInfoWidget::onAlbumsFound( const QList& albums, Model { Q_UNUSED( mode ); +// m_albumsModel->clear(); m_albumsModel->appendAlbums( albums ); } @@ -410,6 +445,13 @@ ArtistInfoWidget::onTopHitsMoreClicked() } +void +ArtistInfoWidget::onAlbumsMoreClicked() +{ + m_stackedWidget->setCurrentIndex( 2 ); +} + + void ArtistInfoWidget::onTopHitsMoreClosed() { diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.h b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.h index ce39e79b3..5c14a115a 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.h +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.h @@ -103,6 +103,7 @@ private slots: void onSimilarArtistsLoaded(); void onBiographyLinkClicked( const QUrl& url ); + void onAlbumsMoreClicked(); void onTopHitsMoreClicked(); void onTopHitsMoreClosed(); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui index 89c4bc21c..dfa112314 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.ui @@ -42,7 +42,7 @@ 32 - 8 + 16 @@ -71,17 +71,11 @@ - - - Qt::Vertical + + + Show More - - - 20 - 0 - - - +