1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-05 21:57:41 +02:00

* Views handle leaveEvents now and inform the delegate to update itself when required.

This commit is contained in:
Christian Muehlhaeuser
2013-06-10 10:36:44 +02:00
parent 29a2c1e904
commit 84193fdf2c
4 changed files with 25 additions and 4 deletions

View File

@@ -195,6 +195,15 @@ GridView::scrollContentsBy( int dx, int dy )
} }
void
GridView::leaveEvent( QEvent* event )
{
QListView::leaveEvent( event );
m_delegate->resetHoverIndex();
}
void void
GridView::paintEvent( QPaintEvent* event ) GridView::paintEvent( QPaintEvent* event )
{ {

View File

@@ -89,6 +89,7 @@ protected:
virtual void startDrag( Qt::DropActions supportedActions ); virtual void startDrag( Qt::DropActions supportedActions );
virtual void scrollContentsBy( int dx, int dy ); virtual void scrollContentsBy( int dx, int dy );
void leaveEvent( QEvent* event );
void paintEvent( QPaintEvent* event ); void paintEvent( QPaintEvent* event );
void resizeEvent( QResizeEvent* event ); void resizeEvent( QResizeEvent* event );
void wheelEvent( QWheelEvent* ); void wheelEvent( QWheelEvent* );

View File

@@ -166,8 +166,7 @@ TrackView::setProxyModel( PlayableProxyModel* model )
connect( m_proxyModel, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), SLOT( verifySize() ) ); connect( m_proxyModel, SIGNAL( rowsRemoved( QModelIndex, int, int ) ), SLOT( verifySize() ) );
m_delegate = new PlaylistItemDelegate( this, m_proxyModel ); m_delegate = new PlaylistItemDelegate( this, m_proxyModel );
setItemDelegate( m_delegate ); QTreeView::setItemDelegate( m_delegate );
QTreeView::setModel( m_proxyModel ); QTreeView::setModel( m_proxyModel );
} }
@@ -184,8 +183,11 @@ TrackView::setModel( QAbstractItemModel* model )
void void
TrackView::setPlaylistItemDelegate( PlaylistItemDelegate* delegate ) TrackView::setPlaylistItemDelegate( PlaylistItemDelegate* delegate )
{ {
if ( m_delegate )
delete m_delegate;
m_delegate = delegate; m_delegate = delegate;
setItemDelegate( delegate ); QTreeView::setItemDelegate( delegate );
verifySize(); verifySize();
} }
@@ -511,7 +513,6 @@ TrackView::dragMoveEvent( QDragMoveEvent* event )
void void
TrackView::dragLeaveEvent( QDragLeaveEvent* event ) TrackView::dragLeaveEvent( QDragLeaveEvent* event )
{ {
tDebug() << Q_FUNC_INFO;
QTreeView::dragLeaveEvent( event ); QTreeView::dragLeaveEvent( event );
m_dragging = false; m_dragging = false;
@@ -550,6 +551,15 @@ TrackView::dropEvent( QDropEvent* event )
} }
void
TrackView::leaveEvent( QEvent* event )
{
QTreeView::leaveEvent( event );
m_delegate->resetHoverIndex();
}
void void
TrackView::paintEvent( QPaintEvent* event ) TrackView::paintEvent( QPaintEvent* event )
{ {

View File

@@ -113,6 +113,7 @@ protected:
virtual void dragMoveEvent( QDragMoveEvent* event ); virtual void dragMoveEvent( QDragMoveEvent* event );
virtual void dropEvent( QDropEvent* event ); virtual void dropEvent( QDropEvent* event );
virtual void leaveEvent( QEvent* event );
virtual void paintEvent( QPaintEvent* event ); virtual void paintEvent( QPaintEvent* event );
virtual void keyPressEvent( QKeyEvent* event ); virtual void keyPressEvent( QKeyEvent* event );
virtual void wheelEvent( QWheelEvent* event ); virtual void wheelEvent( QWheelEvent* event );