From 57f1692c22fd104e5beacadf399fa013b932212c Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 9 Nov 2012 06:41:07 +0100 Subject: [PATCH] * FlexibleView now overrides the individual view's PlaylistInterface. --- src/libtomahawk/playlist/FlexibleView.cpp | 18 ++++++++++++++++-- src/libtomahawk/playlist/FlexibleView.h | 2 ++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/libtomahawk/playlist/FlexibleView.cpp b/src/libtomahawk/playlist/FlexibleView.cpp index d5e6099c5..38d3f7204 100644 --- a/src/libtomahawk/playlist/FlexibleView.cpp +++ b/src/libtomahawk/playlist/FlexibleView.cpp @@ -77,6 +77,11 @@ FlexibleView::FlexibleView( QWidget* parent ) qRegisterMetaType< FlexibleViewMode >( "FlexibleViewMode" ); m_playlistInterface = playlistinterface_ptr( new FlexibleViewInterface( m_trackView->proxyModel(), this ) ); + m_trackView->setPlaylistInterface( m_playlistInterface ); + m_detailedView->setPlaylistInterface( m_playlistInterface ); + + m_detailedView->setColumnHidden( PlayableModel::Age, true ); // Hide age column per default + m_detailedView->setColumnHidden( PlayableModel::Composer, true ); // Hide composer column per default PlaylistLargeItemDelegate* del = new PlaylistLargeItemDelegate( PlaylistLargeItemDelegate::LovedTracks, m_trackView, m_trackView->proxyModel() ); connect( del, SIGNAL( updateIndex( QModelIndex ) ), m_trackView, SLOT( update( QModelIndex ) ) ); @@ -106,6 +111,14 @@ FlexibleView::~FlexibleView() } +void +FlexibleView::setGuid( const QString& guid ) +{ + m_trackView->setGuid( guid ); + m_detailedView->setGuid( guid ); +} + + void FlexibleView::setTrackView( TrackView* view ) { @@ -115,8 +128,7 @@ FlexibleView::setTrackView( TrackView* view ) delete m_trackView; } - if ( view && m_trackView != view ) - m_playlistInterface = playlistinterface_ptr( new FlexibleViewInterface( view->proxyModel(), this ) ); + view->setPlaylistInterface( m_playlistInterface ); m_trackView = view; m_stack->addWidget( view ); @@ -132,6 +144,8 @@ FlexibleView::setDetailedView( TrackView* view ) delete m_detailedView; } + view->setPlaylistInterface( m_playlistInterface ); + m_detailedView = view; m_stack->addWidget( view ); } diff --git a/src/libtomahawk/playlist/FlexibleView.h b/src/libtomahawk/playlist/FlexibleView.h index a78104116..bdf10fea4 100644 --- a/src/libtomahawk/playlist/FlexibleView.h +++ b/src/libtomahawk/playlist/FlexibleView.h @@ -56,6 +56,8 @@ public: TrackView* detailedView() const { return m_detailedView; } GridView* gridView() const { return m_gridView; } + void setGuid( const QString& guid ); + void setTrackView( TrackView* view ); void setDetailedView( TrackView* view ); void setGridView( GridView* view );