diff --git a/src/libtomahawk/playlist/ContextView.cpp b/src/libtomahawk/playlist/ContextView.cpp index c03688510..0a3e390f7 100644 --- a/src/libtomahawk/playlist/ContextView.cpp +++ b/src/libtomahawk/playlist/ContextView.cpp @@ -93,6 +93,7 @@ ContextView::ContextView( QWidget* parent, const QString& caption ) vboxInner->setStretchFactor( m_trackView, 1 ); TrackDetailView* detailView = new TrackDetailView; + detailView->setPlaylistInterface( playlistInterface() ); hboxl->addWidget( detailView ); hboxl->addLayout( vboxInner ); hbox->setLayout( hboxl ); diff --git a/src/libtomahawk/playlist/FlexibleView.cpp b/src/libtomahawk/playlist/FlexibleView.cpp index b0c0037b2..db0090dc5 100644 --- a/src/libtomahawk/playlist/FlexibleView.cpp +++ b/src/libtomahawk/playlist/FlexibleView.cpp @@ -100,6 +100,7 @@ FlexibleView::FlexibleView( QWidget* parent, QWidget* extraHeader ) hboxl->setSpacing( 32 ); m_detailView = new TrackDetailView; + m_detailView->setPlaylistInterface( playlistInterface() ); hboxl->addWidget( m_detailView ); hboxl->addWidget( m_stack ); hbox->setLayout( hboxl ); @@ -145,6 +146,7 @@ FlexibleView::setTrackView( TrackView* view ) } // view->setPlaylistInterface( m_playlistInterface ); + m_detailView->setPlaylistInterface( playlistInterface() ); m_trackView = view; m_stack->addWidget( view ); diff --git a/src/libtomahawk/playlist/TrackDetailView.cpp b/src/libtomahawk/playlist/TrackDetailView.cpp index 30479be24..8cf8e8bb9 100644 --- a/src/libtomahawk/playlist/TrackDetailView.cpp +++ b/src/libtomahawk/playlist/TrackDetailView.cpp @@ -135,6 +135,13 @@ TrackDetailView::~TrackDetailView() } +void +TrackDetailView::setPlaylistInterface( const Tomahawk::playlistinterface_ptr& playlistInterface ) +{ + m_playlistInterface = playlistInterface; +} + + void TrackDetailView::setQuery( const Tomahawk::query_ptr& query ) { @@ -253,7 +260,7 @@ TrackDetailView::onResultsChanged() NewClosure( resolverLabel, SIGNAL( clicked() ), const_cast< AudioEngine* >( AudioEngine::instance() ), SLOT( playItem( Tomahawk::playlistinterface_ptr, Tomahawk::result_ptr, Tomahawk::query_ptr ) ), - Tomahawk::playlistinterface_ptr(), result, m_query )->setAutoDelete( false ); + m_playlistInterface, result, m_query )->setAutoDelete( false ); QWidget* hbox = new QWidget; QHBoxLayout* hboxl = new QHBoxLayout; diff --git a/src/libtomahawk/playlist/TrackDetailView.h b/src/libtomahawk/playlist/TrackDetailView.h index e58997e94..a2f9462bc 100644 --- a/src/libtomahawk/playlist/TrackDetailView.h +++ b/src/libtomahawk/playlist/TrackDetailView.h @@ -39,6 +39,7 @@ public: public slots: virtual void setQuery( const Tomahawk::query_ptr& query ); + void setPlaylistInterface( const Tomahawk::playlistinterface_ptr& playlistInterface ); signals: @@ -54,6 +55,8 @@ private slots: private: void setSocialActions(); + Tomahawk::playlistinterface_ptr m_playlistInterface; + PlayableCover* m_playableCover; QueryLabel* m_nameLabel; QLabel* m_dateLabel;