From 6ff68c314cb793e6ec92d0087db2d09ee6ef67a1 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 16 Nov 2012 10:47:08 +0100 Subject: [PATCH] * Implemented indexOfQuery in PlayableProxyModelPlaylistInterface. --- .../PlayableProxyModelPlaylistInterface.cpp | 21 +++++++++++++++++++ .../PlayableProxyModelPlaylistInterface.h | 1 + 2 files changed, 22 insertions(+) diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp index d578d541e..ead16362a 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.cpp @@ -259,3 +259,24 @@ PlayableProxyModelPlaylistInterface::indexOfResult( const Tomahawk::result_ptr& return -1; } + + +int +PlayableProxyModelPlaylistInterface::indexOfQuery( const Tomahawk::query_ptr& query ) const +{ + if ( m_proxyModel.isNull() ) + return -1; + + PlayableProxyModel* proxyModel = m_proxyModel.data(); + + for ( int i = 0; i < proxyModel->rowCount( QModelIndex() ); i++ ) + { + PlayableItem* item = proxyModel->itemFromIndex( proxyModel->mapToSource( proxyModel->index( i, 0 ) ) ); + if ( item && item->query() == query ) + { + return i; + } + } + + return -1; +} diff --git a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h index 740ab4f76..c52c786db 100644 --- a/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h +++ b/src/libtomahawk/playlist/PlayableProxyModelPlaylistInterface.h @@ -45,6 +45,7 @@ public: virtual Tomahawk::query_ptr itemAt( unsigned int position ) const; virtual int indexOfResult( const Tomahawk::result_ptr& result ) const; + virtual int indexOfQuery( const Tomahawk::query_ptr& query ) const; virtual Tomahawk::result_ptr currentItem() const; virtual Tomahawk::result_ptr siblingItem( int itemsAway, bool readOnly );