1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-24 09:49:42 +01:00

* Extended PlaylistInterface with posOfResult/Query.

This commit is contained in:
Christian Muehlhaeuser 2012-11-28 07:59:24 +01:00
parent 3ecbab3c63
commit adb185f0cb
2 changed files with 42 additions and 3 deletions

@ -79,6 +79,42 @@ PlaylistInterface::siblingResult( int itemsAway ) const
}
int
PlaylistInterface::posOfResult( const Tomahawk::result_ptr& result ) const
{
const QList< Tomahawk::query_ptr > queries = tracks();
int res = 0;
foreach ( const Tomahawk::query_ptr& query, queries )
{
if ( query && query->numResults() && query->results().contains( result ) )
return res;
res++;
}
return -1;
}
int
PlaylistInterface::posOfQuery( const Tomahawk::query_ptr& query ) const
{
const QList< Tomahawk::query_ptr > queries = tracks();
int res = 0;
foreach ( const Tomahawk::query_ptr& q, queries )
{
if ( query == q )
return res;
res++;
}
return -1;
}
QList<Tomahawk::query_ptr>
PlaylistInterface::filterTracks( const QList<Tomahawk::query_ptr>& queries )
{

@ -38,9 +38,9 @@ public:
explicit PlaylistInterface();
virtual ~PlaylistInterface();
const QString id() { return m_id; }
const QString id() const { return m_id; }
virtual QList< Tomahawk::query_ptr > tracks() = 0;
virtual QList< Tomahawk::query_ptr > tracks() const = 0;
virtual bool isFinished() const { return m_finished; }
virtual int trackCount() const = 0;
@ -53,7 +53,7 @@ public:
virtual Tomahawk::result_ptr nextResult() const;
virtual Tomahawk::result_ptr previousResult() const;
virtual qint64 siblingIndex( int itemsAway ) const = 0;
virtual qint64 siblingIndex( int itemsAway, qint64 rootIndex = -1 ) const = 0;
virtual Tomahawk::result_ptr siblingResult( int itemsAway ) const;
virtual Tomahawk::result_ptr resultAt( qint64 index ) const = 0;
@ -61,6 +61,9 @@ public:
virtual qint64 indexOfResult( const Tomahawk::result_ptr& result ) const = 0;
virtual qint64 indexOfQuery( const Tomahawk::query_ptr& query ) const = 0;
virtual int posOfResult( const Tomahawk::result_ptr& result ) const;
virtual int posOfQuery( const Tomahawk::query_ptr& query ) const;
virtual PlaylistModes::RepeatMode repeatMode() const = 0;
virtual bool shuffled() const = 0;