From 9aafacdb98bc8ee8b8055943a000cc1d6c05dc5c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Tue, 3 Sep 2013 15:00:18 +0200 Subject: [PATCH] * Use TomahawkStyle helpers in page widgets and a bit of DRY. --- src/libtomahawk/widgets/SearchWidget.cpp | 11 +-- .../widgets/infowidgets/AlbumInfoWidget.cpp | 10 +-- .../widgets/infowidgets/ArtistInfoWidget.cpp | 12 ++-- .../widgets/infowidgets/TrackInfoWidget.cpp | 6 +- src/viewpages/dashboard/Dashboard.cpp | 10 ++- .../networkactivity/NetworkActivityWidget.cpp | 71 ++++++++++--------- 6 files changed, 54 insertions(+), 66 deletions(-) diff --git a/src/libtomahawk/widgets/SearchWidget.cpp b/src/libtomahawk/widgets/SearchWidget.cpp index 04e4255d9..29afcfa2f 100644 --- a/src/libtomahawk/widgets/SearchWidget.cpp +++ b/src/libtomahawk/widgets/SearchWidget.cpp @@ -56,9 +56,8 @@ SearchWidget::SearchWidget( const QString& search, QWidget* parent ) p.setColor( QPalette::HighlightedText, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT_TEXT ); ui->resultsView->setPalette( p ); + TomahawkStyle::stylePageFrame( ui->resultsView ); ui->resultsView->setFrameShape( QFrame::Panel ); - ui->resultsView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - ui->resultsView->setStyleSheet( "QTreeView { background-color: transparent; }" ); TomahawkStyle::stylePageFrame( ui->resultsFrame ); ui->resultsView->setAlternatingRowColors( false ); @@ -72,14 +71,12 @@ SearchWidget::SearchWidget( const QString& search, QWidget* parent ) m_albumsModel = new PlayableModel( ui->albumView ); ui->albumView->setPlayableModel( m_albumsModel ); - ui->albumView->setFrameShape( QFrame::NoFrame ); - ui->albumView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); ui->albumView->proxyModel()->sort( -1 ); ui->albumView->proxyModel()->setHideDupeItems( true ); ui->albumView->setAutoResize( true ); ui->albumView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); - ui->albumView->setStyleSheet( "QListView { background-color: transparent; }" ); + TomahawkStyle::stylePageFrame( ui->albumView ); TomahawkStyle::stylePageFrame( ui->albumFrame ); } @@ -87,14 +84,12 @@ SearchWidget::SearchWidget( const QString& search, QWidget* parent ) m_artistsModel = new PlayableModel( ui->artistView ); ui->artistView->setPlayableModel( m_artistsModel ); - ui->artistView->setFrameShape( QFrame::NoFrame ); - ui->artistView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); ui->artistView->proxyModel()->sort( -1 ); ui->artistView->proxyModel()->setHideDupeItems( true ); ui->artistView->setAutoResize( true ); ui->artistView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); - ui->artistView->setStyleSheet( "QListView { background-color: transparent; }" ); + TomahawkStyle::stylePageFrame( ui->artistView ); TomahawkStyle::stylePageFrame( ui->artistFrame ); } diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index a8d9b9a78..28b62e9b9 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -78,11 +78,9 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par p.setColor( QPalette::HighlightedText, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT_TEXT ); ui->tracks->setPalette( p ); - ui->tracks->setFrameShape( QFrame::NoFrame ); - ui->tracks->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - ui->tracks->setStyleSheet( "QTreeView#tracks { background-color: transparent; }" ); TomahawkStyle::styleScrollBar( ui->tracks->horizontalScrollBar() ); + TomahawkStyle::stylePageFrame( ui->tracks ); TomahawkStyle::stylePageFrame( ui->trackFrame ); } @@ -98,8 +96,8 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->albums->delegate()->setItemSize( QSize( 170, 170 ) ); ui->albums->proxyModel()->setHideDupeItems( true ); - ui->albums->setStyleSheet( "QListView { background-color: transparent; }" ); TomahawkStyle::styleScrollBar( ui->albums->verticalScrollBar() ); + TomahawkStyle::stylePageFrame( ui->albums ); TomahawkStyle::stylePageFrame( ui->albumFrame ); } @@ -114,11 +112,9 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->biography->setPalette( p ); ui->biography->setOpenLinks( false ); ui->biography->setOpenExternalLinks( true ); - ui->biography->setFrameShape( QFrame::NoFrame ); - ui->biography->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - ui->biography->setStyleSheet( "QTextBrowser#biography { background-color: transparent; }" ); ui->biography->document()->setDefaultStyleSheet( QString( "a { text-decoration: none; font-weight: bold; color: %1; }" ).arg( TomahawkStyle::HEADER_LINK.name() ) ); + TomahawkStyle::stylePageFrame( ui->biography ); TomahawkStyle::styleScrollBar( ui->biography->verticalScrollBar() ); // connect( ui->biography, SIGNAL( anchorClicked( QUrl ) ), SLOT( onBiographyLinkClicked( QUrl ) ) ); diff --git a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp index 9ca56c6dc..78884af93 100644 --- a/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/ArtistInfoWidget.cpp @@ -89,7 +89,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->relatedArtists->setHorizontalScrollBarPolicy( Qt::ScrollBarAsNeeded );*/ ui->relatedArtists->delegate()->setItemSize( QSize( 170, 170 ) ); - ui->relatedArtists->setStyleSheet( "QListView { background-color: transparent; }" ); + TomahawkStyle::stylePageFrame( ui->relatedArtists ); TomahawkStyle::stylePageFrame( ui->artistFrame ); TomahawkStyle::styleScrollBar( ui->relatedArtists->verticalScrollBar() ); } @@ -131,9 +131,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* p.setColor( QPalette::HighlightedText, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT_TEXT ); ui->topHits->setPalette( p ); - ui->topHits->setFrameShape( QFrame::NoFrame ); - ui->topHits->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - ui->topHits->setStyleSheet( "QTreeView#topHits { background-color: transparent; }" ); + TomahawkStyle::stylePageFrame( ui->topHits ); TomahawkStyle::stylePageFrame( ui->trackFrame ); } @@ -148,11 +146,9 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* ui->biography->setPalette( p ); ui->biography->setOpenLinks( false ); ui->biography->setOpenExternalLinks( true ); - ui->biography->setFrameShape( QFrame::NoFrame ); - ui->biography->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - ui->biography->setStyleSheet( "QTextBrowser#biography { background-color: transparent; }" ); ui->biography->document()->setDefaultStyleSheet( QString( "a { text-decoration: none; font-weight: bold; color: %1; }" ).arg( TomahawkStyle::HEADER_LINK.name() ) ); + TomahawkStyle::stylePageFrame( ui->biography ); TomahawkStyle::styleScrollBar( ui->biography->verticalScrollBar() ); connect( ui->biography, SIGNAL( anchorClicked( QUrl ) ), SLOT( onBiographyLinkClicked( QUrl ) ) ); @@ -185,7 +181,7 @@ ArtistInfoWidget::ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* { QFont f = ui->albumLabel->font(); f.setFamily( "Pathway Gothic One" ); - + QPalette p = ui->albumLabel->palette(); p.setColor( QPalette::Foreground, TomahawkStyle::HEADER_TEXT ); diff --git a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp index a44faf1fd..c5f3ff0b9 100644 --- a/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/TrackInfoWidget.cpp @@ -47,10 +47,8 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par ui->statsLabel->setStyleSheet( "QLabel { background-image:url(); border: 2px solid #dddddd; background-color: #faf9f9; border-radius: 4px; padding: 12px; }" ); ui->statsLabel->setVisible( false ); - ui->lyricsView->setStyleSheet( "QTextBrowser#lyricsView { background-color: transparent; }" ); - ui->lyricsView->setFrameShape( QFrame::NoFrame ); - ui->lyricsView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); ui->lyricsView->setVisible( false ); // FIXME eventually + TomahawkStyle::stylePageFrame( ui->lyricsView ); TomahawkStyle::styleScrollBar( ui->lyricsView->verticalScrollBar() ); ui->lineAbove->setStyleSheet( QString( "QFrame { border: 1px solid %1; }" ).arg( TomahawkStyle::HEADER_BACKGROUND.name() ) ); @@ -82,10 +80,10 @@ TrackInfoWidget::TrackInfoWidget( const Tomahawk::query_ptr& query, QWidget* par ui->similarTracksView->setEmptyTip( tr( "Sorry, but we could not find similar tracks for this song!" ) ); ui->similarTracksView->setAutoResize( true ); ui->similarTracksView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); - ui->similarTracksView->setStyleSheet( "QListView { background-color: transparent; }" ); // TomahawkUtils::styleScrollBar( ui->similarTracksView->verticalScrollBar() ); // ui->similarTracksView->setStyleSheet( "QListView { background-color: transparent; } QListView::item { background-color: transparent; }" ); + TomahawkStyle::stylePageFrame( ui->similarTracksView ); TomahawkStyle::stylePageFrame( ui->frame ); } diff --git a/src/viewpages/dashboard/Dashboard.cpp b/src/viewpages/dashboard/Dashboard.cpp index 7e0ab769b..be4dcce6b 100644 --- a/src/viewpages/dashboard/Dashboard.cpp +++ b/src/viewpages/dashboard/Dashboard.cpp @@ -90,9 +90,7 @@ DashboardWidget::DashboardWidget( QWidget* parent ) p.setColor( QPalette::HighlightedText, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT_TEXT ); ui->tracksView->setPalette( p ); - ui->tracksView->setFrameShape( QFrame::NoFrame ); - ui->tracksView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - ui->tracksView->setStyleSheet( "QTreeView { background-color: transparent; }" ); + TomahawkStyle::stylePageFrame( ui->tracksView ); TomahawkStyle::stylePageFrame( ui->trackFrame ); } @@ -115,8 +113,8 @@ DashboardWidget::DashboardWidget( QWidget* parent ) ui->playlistWidget->setPalette( p ); ui->playlistWidget->setMinimumHeight( 400 ); - ui->playlistWidget->setStyleSheet( "QListView { background-color: transparent; }" ); TomahawkStyle::styleScrollBar( ui->playlistWidget->verticalScrollBar() ); + TomahawkStyle::stylePageFrame( ui->playlistWidget ); TomahawkStyle::stylePageFrame( ui->playlistFrame ); updatePlaylists(); @@ -129,9 +127,9 @@ DashboardWidget::DashboardWidget( QWidget* parent ) ui->additionsView->setPlayableModel( m_recentAlbumsModel ); ui->additionsView->proxyModel()->sort( -1 ); - ui->additionsView->setStyleSheet( "QListView { background-color: transparent; }" ); - TomahawkStyle::stylePageFrame( ui->additionsFrame ); TomahawkStyle::styleScrollBar( ui->additionsView->verticalScrollBar() ); + TomahawkStyle::stylePageFrame( ui->additionsView ); + TomahawkStyle::stylePageFrame( ui->additionsFrame ); } { diff --git a/src/viewpages/networkactivity/NetworkActivityWidget.cpp b/src/viewpages/networkactivity/NetworkActivityWidget.cpp index d1832036f..7c24effa5 100644 --- a/src/viewpages/networkactivity/NetworkActivityWidget.cpp +++ b/src/viewpages/networkactivity/NetworkActivityWidget.cpp @@ -63,10 +63,10 @@ NetworkActivityWidget::NetworkActivityWidget( QWidget* parent ) d->sortedProxy = new QSortFilterProxyModel( this ); // d_func()->ui->breadCrumbLeft->setRootIcon( TomahawkUtils::defaultPixmap( TomahawkUtils::NetworkActivity, TomahawkUtils::Original ) ); - connect( d_func()->ui->breadCrumbLeft, SIGNAL( activateIndex( QModelIndex ) ), SLOT( leftCrumbIndexChanged( QModelIndex ) ) ); + connect( d->ui->breadCrumbLeft, SIGNAL( activateIndex( QModelIndex ) ), SLOT( leftCrumbIndexChanged( QModelIndex ) ) ); // Build up breadcrumb - QStandardItem* rootItem = d_func()->crumbModelLeft->invisibleRootItem(); + QStandardItem* rootItem = d->crumbModelLeft->invisibleRootItem(); // Breadcumps for Charts { QStandardItem* chartItem = new QStandardItem( tr( "Charts" ) ); @@ -116,10 +116,8 @@ NetworkActivityWidget::NetworkActivityWidget( QWidget* parent ) p.setColor( QPalette::HighlightedText, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT_TEXT ); d->ui->tracksViewLeft->setPalette( p ); - d->ui->tracksViewLeft->setFrameShape( QFrame::NoFrame ); - d->ui->tracksViewLeft->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - d->ui->tracksViewLeft->setStyleSheet( "QTreeView { background-color: transparent; }" ); + TomahawkStyle::stylePageFrame( d->ui->tracksViewLeft ); TomahawkStyle::stylePageFrame( d->ui->chartsFrame ); } @@ -142,10 +140,8 @@ NetworkActivityWidget::NetworkActivityWidget( QWidget* parent ) p.setColor( QPalette::HighlightedText, TomahawkStyle::PAGE_TRACKLIST_HIGHLIGHT_TEXT ); d->ui->trendingTracksView->setPalette( p ); - d->ui->trendingTracksView->setFrameShape( QFrame::NoFrame ); - d->ui->trendingTracksView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); - d->ui->trendingTracksView->setStyleSheet( "QTreeView { background-color: transparent; }" ); + TomahawkStyle::stylePageFrame( d->ui->trendingTracksView ); TomahawkStyle::stylePageFrame( d->ui->trendingTracksFrame ); } { @@ -174,8 +170,6 @@ NetworkActivityWidget::NetworkActivityWidget( QWidget* parent ) } { - d->ui->playlistView->setFrameShape( QFrame::NoFrame ); - d->ui->playlistView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); d->ui->playlistView->setItemDelegate( new PlaylistDelegate() ); d->ui->playlistView->setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); @@ -188,8 +182,8 @@ NetworkActivityWidget::NetworkActivityWidget( QWidget* parent ) d->ui->playlistView->setPalette( p ); d->ui->playlistView->overlay()->setPalette( p ); - d->ui->playlistView->setStyleSheet( "QListView { background-color: transparent; }" ); TomahawkStyle::styleScrollBar( d->ui->playlistView->verticalScrollBar() ); + TomahawkStyle::stylePageFrame( d->ui->playlistView ); TomahawkStyle::stylePageFrame( d->ui->playlistsFrame ); connect( d->ui->playlistView, SIGNAL( activated( QModelIndex ) ), SLOT( onPlaylistActivated( QModelIndex ) ) ); @@ -202,14 +196,12 @@ NetworkActivityWidget::NetworkActivityWidget( QWidget* parent ) d->artistsModel->startLoading(); } { - d->ui->trendingArtistsView->setFrameShape( QFrame::NoFrame ); - d->ui->trendingArtistsView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); d->ui->trendingArtistsView->proxyModel()->sort( -1 ); d->ui->trendingArtistsView->proxyModel()->setHideDupeItems( true ); d->ui->trendingArtistsView->setAutoResize( true ); d->ui->trendingArtistsView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); - d->ui->trendingArtistsView->setStyleSheet( "QListView { background-color: transparent; }" ); + TomahawkStyle::stylePageFrame( d->ui->trendingArtistsView ); TomahawkStyle::stylePageFrame( d->ui->trendingArtistsFrame ); } { @@ -250,7 +242,7 @@ NetworkActivityWidget::NetworkActivityWidget( QWidget* parent ) // Load data in separate thread d->workerThread = new QThread(); d->workerThread->start(); - d->worker = new NetworkActivityWorker( ); + d->worker = new NetworkActivityWorker(); d->worker->moveToThread( d->workerThread ); connect( d->worker, SIGNAL( trendingTracks( QList ) ), SLOT( trendingTracks( QList ) ), @@ -278,7 +270,9 @@ NetworkActivityWidget::~NetworkActivityWidget() Tomahawk::playlistinterface_ptr NetworkActivityWidget::playlistInterface() const { - return d_func()->playlistInterface; + Q_D( const NetworkActivityWidget ); + + return d->playlistInterface; } @@ -302,10 +296,10 @@ NetworkActivityWidget::jumpToCurrentTrack() { Q_D( NetworkActivityWidget ); - if ( d->ui->tracksViewLeft->model() && d_func()->ui->tracksViewLeft->jumpToCurrentTrack() ) + if ( d->ui->tracksViewLeft->model() && d->ui->tracksViewLeft->jumpToCurrentTrack() ) return true; - if ( d->ui->trendingTracksView->model() && d_func()->ui->trendingTracksView->jumpToCurrentTrack() ) + if ( d->ui->trendingTracksView->model() && d->ui->trendingTracksView->jumpToCurrentTrack() ) return true; return false; @@ -315,10 +309,12 @@ NetworkActivityWidget::jumpToCurrentTrack() void NetworkActivityWidget::weeklyCharts( const QList& tracks ) { - d_func()->weeklyChartsModel->appendTracks( tracks ); - d_func()->weeklyChartsModel->finishLoading(); + Q_D( NetworkActivityWidget ); - if ( d_func()->activeView == WeekChart ) + d->weeklyChartsModel->appendTracks( tracks ); + d->weeklyChartsModel->finishLoading(); + + if ( d->activeView == WeekChart ) { showWeekCharts(); } @@ -328,10 +324,12 @@ NetworkActivityWidget::weeklyCharts( const QList& tracks ) void NetworkActivityWidget::monthlyCharts( const QList& tracks ) { - d_func()->monthlyChartsModel->appendTracks( tracks ); - d_func()->monthlyChartsModel->finishLoading(); + Q_D( NetworkActivityWidget ); - if ( d_func()->activeView == MonthChart ) + d->monthlyChartsModel->appendTracks( tracks ); + d->monthlyChartsModel->finishLoading(); + + if ( d->activeView == MonthChart ) { showMonthCharts(); } @@ -341,10 +339,12 @@ NetworkActivityWidget::monthlyCharts( const QList& tracks ) void NetworkActivityWidget::yearlyCharts( const QList& tracks ) { - d_func()->yearlyChartsModel->appendTracks( tracks ); - d_func()->yearlyChartsModel->finishLoading(); + Q_D( NetworkActivityWidget ); - if ( d_func()->activeView == YearChart ) + d->yearlyChartsModel->appendTracks( tracks ); + d->yearlyChartsModel->finishLoading(); + + if ( d->activeView == YearChart ) { showYearCharts(); } @@ -354,10 +354,12 @@ NetworkActivityWidget::yearlyCharts( const QList& tracks ) void NetworkActivityWidget::overallCharts( const QList& tracks ) { - d_func()->overallChartsModel->appendTracks( tracks ); - d_func()->overallChartsModel->finishLoading(); + Q_D( NetworkActivityWidget ); - if ( d_func()->activeView == OverallChart ) + d->overallChartsModel->appendTracks( tracks ); + d->overallChartsModel->finishLoading(); + + if ( d->activeView == OverallChart ) { showOverallCharts(); } @@ -368,6 +370,7 @@ void NetworkActivityWidget::hotPlaylists( const QList& playlists ) { Q_D( NetworkActivityWidget ); + d->ui->playlistView->setModel( new PlaylistsModel( playlists, this ) ); } @@ -395,7 +398,9 @@ NetworkActivityWidget::trendingTracks( const QList& tracks ) void NetworkActivityWidget::leftCrumbIndexChanged( const QModelIndex& index ) { - QStandardItem* item = d_func()->crumbModelLeft->itemFromIndex( d_func()->sortedProxy->mapToSource( index ) ); + Q_D( NetworkActivityWidget ); + + QStandardItem* item = d->crumbModelLeft->itemFromIndex( d->sortedProxy->mapToSource( index ) ); if ( !item ) return; if ( !item->data( Breadcrumb::DefaultRole ).isValid() ) @@ -491,7 +496,7 @@ NetworkActivityWidget::showWeekCharts() { d->weeklyChartsModel = new PlaylistModel( d->ui->tracksViewLeft ); } - d->ui->tracksViewLeft->setPlaylistModel( d_func()->weeklyChartsModel ); + d->ui->tracksViewLeft->setPlaylistModel( d->weeklyChartsModel ); d->ui->tracksViewLeft->setAutoResize( true ); if ( d->weeklyChartsModel->rowCount( QModelIndex() ) == 0 ) @@ -512,7 +517,7 @@ NetworkActivityWidget::showMonthCharts() { d->monthlyChartsModel = new PlaylistModel( d->ui->tracksViewLeft ); } - d->ui->tracksViewLeft->setPlaylistModel( d_func()->monthlyChartsModel ); + d->ui->tracksViewLeft->setPlaylistModel( d->monthlyChartsModel ); d->ui->tracksViewLeft->setAutoResize( true ); if ( d->monthlyChartsModel->rowCount( QModelIndex() ) == 0 )