diff --git a/src/libtomahawk/playlist/trackproxymodel.cpp b/src/libtomahawk/playlist/trackproxymodel.cpp index c6a6536ad..71621520c 100644 --- a/src/libtomahawk/playlist/trackproxymodel.cpp +++ b/src/libtomahawk/playlist/trackproxymodel.cpp @@ -49,6 +49,22 @@ TrackProxyModel::setFilter( const QString& pattern ) } +QList< Tomahawk::query_ptr > +TrackProxyModel::tracks() +{ + QList queries; + + for ( int i = 0; i < rowCount( QModelIndex() ); i++ ) + { + PlItem* item = itemFromIndex( mapToSource( index( i, 0 ) ) ); + if ( item ) + queries << item->query(); + } + + return queries; +} + + Tomahawk::result_ptr TrackProxyModel::siblingItem( int itemsAway ) { diff --git a/src/libtomahawk/playlist/trackproxymodel.h b/src/libtomahawk/playlist/trackproxymodel.h index 2c7f706d5..2fbeb0cd7 100644 --- a/src/libtomahawk/playlist/trackproxymodel.h +++ b/src/libtomahawk/playlist/trackproxymodel.h @@ -21,7 +21,7 @@ public: virtual QPersistentModelIndex currentItem() const { return mapFromSource( m_model->currentItem() ); } virtual void setCurrentItem( const QModelIndex& index ) { m_model->setCurrentItem( mapToSource( index ) ); } - virtual QList tracks() { Q_ASSERT( FALSE ); QList queries; return queries; } + virtual QList tracks(); virtual int unfilteredTrackCount() const { return sourceModel()->rowCount( QModelIndex() ); } virtual int trackCount() const { return rowCount( QModelIndex() ); }