1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-19 07:19:42 +01: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
GridView::paintEvent( QPaintEvent* event )
{

View File

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

View File

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

View File

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