From eb2da50b47b1af2d9b38a982579f34873d1bb081 Mon Sep 17 00:00:00 2001 From: Ilkka Ollakka Date: Thu, 24 Jun 2010 18:12:51 +0300 Subject: [PATCH] Qt4: don't cache current reverts 0455f985986b54085f3651d1cfcdc7d53efda9c7 and 7cdb0761b23277f508cefeb5dca4098c9ec4120d --- .../components/playlist/playlist_model.cpp | 22 ++++++------------- .../components/playlist/playlist_model.hpp | 2 -- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/modules/gui/qt4/components/playlist/playlist_model.cpp b/modules/gui/qt4/components/playlist/playlist_model.cpp index a1f1412e0a..38688672ae 100644 --- a/modules/gui/qt4/components/playlist/playlist_model.cpp +++ b/modules/gui/qt4/components/playlist/playlist_model.cpp @@ -73,7 +73,6 @@ PLModel::PLModel( playlist_t *_p_playlist, /* THEPL */ i_cached_input_id = -1; i_popup_item = i_popup_parent = -1; sortingMenu = NULL; - current_index = QModelIndex(); rootItem = NULL; /* PLItem rootItem, will be set in rebuild( ) */ @@ -99,8 +98,6 @@ PLModel::PLModel( playlist_t *_p_playlist, /* THEPL */ this, processItemAppend( int, int ) ); CONNECT( THEMIM, playlistItemRemoved( int ), this, processItemRemoval( int ) ); - CONNECT( this, currentChanged( const QModelIndex &) , - this, cacheCurrent( const QModelIndex &) ); } PLModel::~PLModel() @@ -380,7 +377,7 @@ QVariant PLModel::data( const QModelIndex &index, int role ) const } else if( role == IsCurrentsParentNodeRole ) { - return QVariant( isParent( index, current_index ) ); + return QVariant( isParent( index, currentIndex() ) ); } return QVariant(); } @@ -402,7 +399,7 @@ bool PLModel::isParent( const QModelIndex &index, const QModelIndex ¤t ) c bool PLModel::isCurrent( const QModelIndex &index ) const { - return index == current_index; + return getItem( index )->p_input == THEMIM->currentInputItem(); } int PLModel::itemId( const QModelIndex &index ) const @@ -451,14 +448,12 @@ QModelIndex PLModel::index( PLItem *item, int column ) const return QModelIndex(); } -void PLModel::cacheCurrent( const QModelIndex ¤t ) +QModelIndex PLModel::currentIndex() const { - current_index = current; -} - -QModelIndex PLModel::currentIndex() -{ - return current_index; + input_thread_t *p_input_thread = THEMIM->getInput(); + if( !p_input_thread ) return QModelIndex(); + PLItem *item = findByInput( rootItem, input_GetItem( p_input_thread )->i_id ); + return index( item, 0 ); } QModelIndex PLModel::parent( const QModelIndex &index ) const @@ -703,7 +698,6 @@ void PLModel::rebuild( playlist_item_t *p_root ) /* Invalidate cache */ i_cached_id = i_cached_input_id = -1; - current_index = QModelIndex(); if( rootItem ) rootItem->removeChildren(); @@ -756,7 +750,6 @@ void PLModel::removeItem( PLItem *item ) i_cached_id = -1; i_cached_input_id = -1; - current_index = QModelIndex(); if( item->parentItem ) { int i = item->parentItem->children.indexOf( item ); @@ -879,7 +872,6 @@ void PLModel::sort( int i_root_id, int column, Qt::SortOrder order ) } i_cached_id = i_cached_input_id = -1; - current_index = QModelIndex(); if( count ) { diff --git a/modules/gui/qt4/components/playlist/playlist_model.hpp b/modules/gui/qt4/components/playlist/playlist_model.hpp index 90dcf17165..f6343dfeba 100644 --- a/modules/gui/qt4/components/playlist/playlist_model.hpp +++ b/modules/gui/qt4/components/playlist/playlist_model.hpp @@ -163,7 +163,6 @@ private: PLItem *p_cached_item_bi; int i_cached_id; int i_cached_input_id; - QModelIndex current_index; private slots: void popupPlay(); @@ -178,7 +177,6 @@ private slots: void processInputItemUpdate( input_thread_t* p_input ); void processItemRemoval( int i_id ); void processItemAppend( int item, int parent ); - void cacheCurrent( const QModelIndex & ); }; class PlMimeData : public QMimeData -- 2.39.2