From 5d256d4224f2285fa00b0cca73cdcfd7dd471fa2 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 8 Apr 2015 03:58:38 +0200 Subject: [PATCH] Improve PlaylistItemDelegate performance, esp. for browsing collections. --- .../playlist/PlaylistItemDelegate.cpp | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp index dd74b1ae4..6166bc2ce 100644 --- a/src/libtomahawk/playlist/PlaylistItemDelegate.cpp +++ b/src/libtomahawk/playlist/PlaylistItemDelegate.cpp @@ -815,30 +815,21 @@ PlaylistItemDelegate::editorEvent( QEvent* event, QAbstractItemModel* model, con 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( index ); + m_hoveringOverArtist = index; } if ( !hoveringArtist && m_hoveringOverArtist.isValid() ) { - QPersistentModelIndex ti = m_hoveringOverArtist; + emit updateIndex( m_hoveringOverArtist ); m_hoveringOverArtist = QModelIndex(); - - PlayableItem* item = m_model->sourceModel()->itemFromIndex( m_model->mapToSource( ti ) ); - item->requestRepaint(); } 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( index ); + m_hoveringOver = index; } // We return false here so the view can still decide to process/trigger things like D&D events