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:
@@ -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
|
||||||
|
Reference in New Issue
Block a user