1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-01 03:40:16 +02:00

* Lazy init for AlbumView.

This commit is contained in:
Christian Muehlhaeuser
2012-05-18 12:12:07 +02:00
parent fd7f1fe422
commit 4c04feb529
2 changed files with 10 additions and 3 deletions

View File

@@ -57,11 +57,13 @@ AlbumView::AlbumView( QWidget* parent )
setSpacing( 0 ); setSpacing( 0 );
setContentsMargins( 0, 0, 0, 0 ); setContentsMargins( 0, 0, 0, 0 );
setMouseTracking( true ); setMouseTracking( true );
setStyleSheet( "QListView { background-color: #323435; }" ); setStyleSheet( "QListView { background-color: #323435; }" );
setResizeMode( Adjust ); setResizeMode( Adjust );
setViewMode( IconMode ); setViewMode( IconMode );
setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); setVerticalScrollMode( QAbstractItemView::ScrollPerPixel );
setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn );
setAutoFitItems( true ); setAutoFitItems( true );
setProxyModel( new AlbumProxyModel( this ) ); setProxyModel( new AlbumProxyModel( this ) );
@@ -179,10 +181,13 @@ AlbumView::paintEvent( QPaintEvent* event )
void void
AlbumView::resizeEvent( QResizeEvent* event ) AlbumView::resizeEvent( QResizeEvent* event )
{ {
QListView::resizeEvent( event );
if ( autoFitItems() ) if ( autoFitItems() )
{ {
#ifdef Q_WS_X11 #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 #else
int scrollbar = verticalScrollBar()->rect().width(); int scrollbar = verticalScrollBar()->rect().width();
#endif #endif
@@ -205,8 +210,6 @@ AlbumView::resizeEvent( QResizeEvent* event )
repaint(); repaint();
} }
} }
QListView::resizeEvent( event );
} }

View File

@@ -84,6 +84,8 @@ private slots:
void onFilterChanged( const QString& filter ); void onFilterChanged( const QString& filter );
private: private:
void adjustItemSize( const QRect& rect );
AlbumModel* m_model; AlbumModel* m_model;
AlbumProxyModel* m_proxyModel; AlbumProxyModel* m_proxyModel;
AlbumItemDelegate* m_delegate; AlbumItemDelegate* m_delegate;
@@ -92,6 +94,8 @@ private:
bool m_inited; bool m_inited;
bool m_autoFitItems; bool m_autoFitItems;
QRect m_paintRect;
}; };
#endif // ALBUMVIEW_H #endif // ALBUMVIEW_H