From 4c04feb5293dda9be68b0be56ca89d2784607b3b Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 18 May 2012 12:12:07 +0200 Subject: [PATCH] * Lazy init for AlbumView. --- src/libtomahawk/playlist/AlbumView.cpp | 9 ++++++--- src/libtomahawk/playlist/AlbumView.h | 4 ++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/libtomahawk/playlist/AlbumView.cpp b/src/libtomahawk/playlist/AlbumView.cpp index 0d7ee312b..a3442c9a0 100644 --- a/src/libtomahawk/playlist/AlbumView.cpp +++ b/src/libtomahawk/playlist/AlbumView.cpp @@ -57,11 +57,13 @@ AlbumView::AlbumView( QWidget* parent ) setSpacing( 0 ); setContentsMargins( 0, 0, 0, 0 ); setMouseTracking( true ); + setStyleSheet( "QListView { background-color: #323435; }" ); setResizeMode( Adjust ); setViewMode( IconMode ); setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); + setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); setAutoFitItems( true ); setProxyModel( new AlbumProxyModel( this ) ); @@ -179,10 +181,13 @@ AlbumView::paintEvent( QPaintEvent* event ) void AlbumView::resizeEvent( QResizeEvent* event ) { + QListView::resizeEvent( event ); + if ( autoFitItems() ) { #ifdef Q_WS_X11 - int scrollbar = verticalScrollBar()->isVisible() ? verticalScrollBar()->width() + 16 : 0; +// int scrollbar = verticalScrollBar()->isVisible() ? verticalScrollBar()->width() + 16 : 0; + int scrollbar = 0; verticalScrollBar()->rect().width(); #else int scrollbar = verticalScrollBar()->rect().width(); #endif @@ -205,8 +210,6 @@ AlbumView::resizeEvent( QResizeEvent* event ) repaint(); } } - - QListView::resizeEvent( event ); } diff --git a/src/libtomahawk/playlist/AlbumView.h b/src/libtomahawk/playlist/AlbumView.h index c7d3918b5..cb2a069ea 100644 --- a/src/libtomahawk/playlist/AlbumView.h +++ b/src/libtomahawk/playlist/AlbumView.h @@ -84,6 +84,8 @@ private slots: void onFilterChanged( const QString& filter ); private: + void adjustItemSize( const QRect& rect ); + AlbumModel* m_model; AlbumProxyModel* m_proxyModel; AlbumItemDelegate* m_delegate; @@ -92,6 +94,8 @@ private: bool m_inited; bool m_autoFitItems; + + QRect m_paintRect; }; #endif // ALBUMVIEW_H