[vlc-commits] commit: Qt4: don't cache current (Ilkka Ollakka )
git at videolan.org
git at videolan.org
Thu Jun 24 23:18:28 CEST 2010
vlc | branch: master | Ilkka Ollakka <ileoo at videolan.org> | Thu Jun 24 18:12:51 2010 +0300| [eb2da50b47b1af2d9b38a982579f34873d1bb081] | committer: Ilkka Ollakka
Qt4: don't cache current
reverts 0455f985986b54085f3651d1cfcdc7d53efda9c7 and 7cdb0761b23277f508cefeb5dca4098c9ec4120d
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=eb2da50b47b1af2d9b38a982579f34873d1bb081
---
.../gui/qt4/components/playlist/playlist_model.cpp | 22 ++++++-------------
.../gui/qt4/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 a1f1412..3868867 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 90dcf17..f6343df 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
More information about the vlc-commits
mailing list