1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-24 09:49:42 +01:00

* Reset the delegates' hover-index after a wheel-event.

This commit is contained in:
Christian Muehlhaeuser 2013-04-17 03:30:15 +02:00
parent 359321f19c
commit 5637de99d3
4 changed files with 28 additions and 3 deletions

View File

@ -562,6 +562,16 @@ TrackView::paintEvent( QPaintEvent* event )
}
void
TrackView::wheelEvent( QWheelEvent* event )
{
QTreeView::wheelEvent( event );
m_delegate->resetHoverIndex();
repaint();
}
void
TrackView::onFilterChanged( const QString& )
{

View File

@ -113,6 +113,7 @@ protected:
virtual void paintEvent( QPaintEvent* event );
virtual void keyPressEvent( QKeyEvent* event );
virtual void wheelEvent( QWheelEvent* event );
protected slots:
virtual void currentChanged( const QModelIndex& current, const QModelIndex& previous );

View File

@ -53,6 +53,7 @@ TreeView::TreeView( QWidget* parent )
, m_overlay( new OverlayWidget( this ) )
, m_model( 0 )
, m_proxyModel( 0 )
, m_delegate( 0 )
, m_loadingSpinner( new LoadingSpinner( this ) )
, m_updateContextView( true )
, m_contextMenu( new ContextMenu( this ) )
@ -99,9 +100,9 @@ void
TreeView::setProxyModel( TreeProxyModel* model )
{
m_proxyModel = model;
TreeItemDelegate* del = new TreeItemDelegate( this, m_proxyModel );
connect( del, SIGNAL( updateIndex( QModelIndex ) ), this, SLOT( update( QModelIndex ) ) );
setItemDelegate( del );
m_delegate = new TreeItemDelegate( this, m_proxyModel );
connect( m_delegate, SIGNAL( updateIndex( QModelIndex ) ), SLOT( update( QModelIndex ) ) );
setItemDelegate( m_delegate );
QTreeView::setModel( m_proxyModel );
}
@ -285,6 +286,16 @@ TreeView::resizeEvent( QResizeEvent* event )
}
void
TreeView::wheelEvent( QWheelEvent* event )
{
QTreeView::wheelEvent( event );
m_delegate->resetHoverIndex();
repaint();
}
void
TreeView::onFilterChangeFinished()
{

View File

@ -40,6 +40,7 @@ class ViewHeader;
class AnimatedSpinner;
class OverlayWidget;
class TreeModel;
class TreeItemDelegate;
class DLLEXPORT TreeView : public QTreeView
{
@ -79,6 +80,7 @@ protected:
virtual void resizeEvent( QResizeEvent* event );
virtual void keyPressEvent( QKeyEvent* event );
virtual void wheelEvent( QWheelEvent* event );
protected slots:
virtual void currentChanged( const QModelIndex& current, const QModelIndex& previous );
@ -97,6 +99,7 @@ private:
OverlayWidget* m_overlay;
TreeModel* m_model;
TreeProxyModel* m_proxyModel;
TreeItemDelegate* m_delegate;
AnimatedSpinner* m_loadingSpinner;
bool m_updateContextView;