From 3062e6d2bd545b5b3cb42ebac9838cd586a6df4d Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Sun, 11 Nov 2012 09:49:29 +0100 Subject: [PATCH] * Fixed TWK-1096: Deleting a playlist destroys the current view. --- src/libtomahawk/playlist/FlexibleView.cpp | 10 ++++++++++ src/libtomahawk/playlist/FlexibleView.h | 2 ++ src/libtomahawk/playlist/PlaylistView.cpp | 4 ---- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/playlist/FlexibleView.cpp b/src/libtomahawk/playlist/FlexibleView.cpp index 38d3f7204..0944aac71 100644 --- a/src/libtomahawk/playlist/FlexibleView.cpp +++ b/src/libtomahawk/playlist/FlexibleView.cpp @@ -144,6 +144,8 @@ FlexibleView::setDetailedView( TrackView* view ) delete m_detailedView; } + connect( view, SIGNAL( destroyed( QWidget* ) ), SLOT( onWidgetDestroyed( QWidget* ) ), Qt::UniqueConnection ); + view->setPlaylistInterface( m_playlistInterface ); m_detailedView = view; @@ -289,4 +291,12 @@ FlexibleView::setPixmap( const QPixmap& pixmap ) m_header->setPixmap( pixmap ); } + +void +FlexibleView::onWidgetDestroyed( QWidget* widget ) +{ + emit destroyed( this ); +} + + #include "FlexibleView.moc" diff --git a/src/libtomahawk/playlist/FlexibleView.h b/src/libtomahawk/playlist/FlexibleView.h index bdf10fea4..dbbdbb0ac 100644 --- a/src/libtomahawk/playlist/FlexibleView.h +++ b/src/libtomahawk/playlist/FlexibleView.h @@ -72,8 +72,10 @@ public slots: signals: void modeChanged( FlexibleViewMode mode ); + void destroyed( QWidget* widget ); private slots: + void onWidgetDestroyed( QWidget* widget ); private: FlexibleHeader* m_header; diff --git a/src/libtomahawk/playlist/PlaylistView.cpp b/src/libtomahawk/playlist/PlaylistView.cpp index 9703d1e1f..def0ca014 100644 --- a/src/libtomahawk/playlist/PlaylistView.cpp +++ b/src/libtomahawk/playlist/PlaylistView.cpp @@ -73,9 +73,6 @@ void PlaylistView::keyPressEvent( QKeyEvent* event ) { TrackView::keyPressEvent( event ); - - if ( !model() ) - return; } @@ -124,7 +121,6 @@ PlaylistView::updaters() const void PlaylistView::onDeleted() { - qDebug() << Q_FUNC_INFO; emit destroyed( widget() ); }