1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-03 12:47:45 +02:00

Improve PlaylistItemDelegate performance, esp. for browsing collections.

This commit is contained in:
Christian Muehlhaeuser
2015-04-08 03:58:38 +02:00
parent 4a277c6f8e
commit 5d256d4224

View File

@@ -815,30 +815,21 @@ PlaylistItemDelegate::editorEvent( QEvent* event, QAbstractItemModel* model, con
if ( hoveringArtist && m_hoveringOverArtist != index ) if ( hoveringArtist && m_hoveringOverArtist != index )
{ {
QPersistentModelIndex ti = m_hoveringOverArtist;
m_hoveringOverArtist = index;
PlayableItem* item = m_model->sourceModel()->itemFromIndex( m_model->mapToSource( ti ) );
item->requestRepaint();
emit updateIndex( m_hoveringOverArtist ); emit updateIndex( m_hoveringOverArtist );
emit updateIndex( index );
m_hoveringOverArtist = index;
} }
if ( !hoveringArtist && m_hoveringOverArtist.isValid() ) if ( !hoveringArtist && m_hoveringOverArtist.isValid() )
{ {
QPersistentModelIndex ti = m_hoveringOverArtist; emit updateIndex( m_hoveringOverArtist );
m_hoveringOverArtist = QModelIndex(); m_hoveringOverArtist = QModelIndex();
PlayableItem* item = m_model->sourceModel()->itemFromIndex( m_model->mapToSource( ti ) );
item->requestRepaint();
} }
if ( m_hoveringOver != index ) if ( m_hoveringOver != index )
{ {
QPersistentModelIndex ti = m_hoveringOver;
m_hoveringOver = index;
PlayableItem* item = m_model->sourceModel()->itemFromIndex( m_model->mapToSource( ti ) );
item->requestRepaint();
emit updateIndex( m_hoveringOver ); emit updateIndex( m_hoveringOver );
emit updateIndex( index );
m_hoveringOver = index;
} }
// We return false here so the view can still decide to process/trigger things like D&D events // We return false here so the view can still decide to process/trigger things like D&D events