diff --git a/src/libtomahawk/playlist/AlbumView.cpp b/src/libtomahawk/playlist/AlbumView.cpp index 015fb6af9..8ac620a16 100644 --- a/src/libtomahawk/playlist/AlbumView.cpp +++ b/src/libtomahawk/playlist/AlbumView.cpp @@ -72,6 +72,8 @@ AlbumView::AlbumView( QWidget* parent ) connect( this, SIGNAL( doubleClicked( QModelIndex ) ), SLOT( onItemActivated( QModelIndex ) ) ); connect( this, SIGNAL( customContextMenuRequested( QPoint ) ), SLOT( onCustomContextMenu( QPoint ) ) ); + connect( this, SIGNAL( customContextMenuRequested( QPoint ) ), SLOT( onCustomContextMenu( QPoint ) ) ); + connect( proxyModel(), SIGNAL( modelReset() ), SLOT( layoutItems() ) ); // connect( m_contextMenu, SIGNAL( triggered( int ) ), SLOT( onMenuTriggered( int ) ) ); } @@ -106,6 +108,7 @@ AlbumView::setModel( QAbstractItemModel* model ) void AlbumView::setAlbumModel( AlbumModel* model ) { + m_inited = false; m_model = model; if ( m_proxyModel ) @@ -194,7 +197,13 @@ void AlbumView::resizeEvent( QResizeEvent* event ) { QListView::resizeEvent( event ); + layoutItems(); +} + +void +AlbumView::layoutItems() +{ if ( autoFitItems() && m_model ) { #ifdef Q_WS_X11 diff --git a/src/libtomahawk/playlist/AlbumView.h b/src/libtomahawk/playlist/AlbumView.h index e72b2fa2a..f861846c9 100644 --- a/src/libtomahawk/playlist/AlbumView.h +++ b/src/libtomahawk/playlist/AlbumView.h @@ -90,9 +90,9 @@ private slots: void onFilterChanged( const QString& filter ); void onCustomContextMenu( const QPoint& pos ); -private: - void adjustItemSize( const QRect& rect ); + void layoutItems(); +private: AlbumModel* m_model; AlbumProxyModel* m_proxyModel; AlbumItemDelegate* m_delegate;