1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-12 17:14:00 +02:00

* Support parent nodes in PlaylistModel.

This commit is contained in:
Christian Muehlhaeuser
2014-08-13 06:07:46 +02:00
parent d8f734d336
commit 0e807263ae
2 changed files with 9 additions and 8 deletions

View File

@@ -236,7 +236,7 @@ PlaylistModel::insertArtists( const QList< Tomahawk::artist_ptr >& artists, int
void void
PlaylistModel::insertQueries( const QList< Tomahawk::query_ptr >& queries, int row, const QList< Tomahawk::PlaybackLog >& logs ) PlaylistModel::insertQueries( const QList< Tomahawk::query_ptr >& queries, int row, const QList< Tomahawk::PlaybackLog >& logs, const QModelIndex& /* parent */ )
{ {
Q_D( PlaylistModel ); Q_D( PlaylistModel );
QList< Tomahawk::plentry_ptr > entries; QList< Tomahawk::plentry_ptr > entries;
@@ -260,12 +260,12 @@ PlaylistModel::insertQueries( const QList< Tomahawk::query_ptr >& queries, int r
entries << entry; entries << entry;
} }
insertEntries( entries, row, logs ); insertEntries( entries, row, QModelIndex(), logs );
} }
void void
PlaylistModel::insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int row, const QList< Tomahawk::PlaybackLog >& logs ) PlaylistModel::insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int row, const QModelIndex& parent, const QList< Tomahawk::PlaybackLog >& logs )
{ {
Q_D( PlaylistModel ); Q_D( PlaylistModel );
if ( !entries.count() ) if ( !entries.count() )
@@ -286,14 +286,15 @@ PlaylistModel::insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int
d->savedInsertTracks = entries; d->savedInsertTracks = entries;
} }
emit beginInsertRows( QModelIndex(), crows.first, crows.second ); emit beginInsertRows( parent, crows.first, crows.second );
QList< Tomahawk::query_ptr > queries; QList< Tomahawk::query_ptr > queries;
int i = 0; int i = 0;
PlayableItem* plitem; PlayableItem* plitem;
foreach( const plentry_ptr& entry, entries ) foreach( const plentry_ptr& entry, entries )
{ {
plitem = new PlayableItem( entry, rootItem(), row + i ); PlayableItem* pItem = itemFromIndex( parent );
plitem = new PlayableItem( entry, pItem, row + i );
plitem->index = createIndex( row + i, 0, plitem ); plitem->index = createIndex( row + i, 0, plitem );
if ( logs.count() > i ) if ( logs.count() > i )
@@ -578,7 +579,7 @@ PlaylistModel::playlistEntries() const
continue; continue;
PlayableItem* item = itemFromIndex( idx ); PlayableItem* item = itemFromIndex( idx );
if ( item ) if ( item && item->entry() )
l << item->entry(); l << item->entry();
} }

View File

@@ -71,8 +71,8 @@ public slots:
virtual void insertAlbums( const QList< Tomahawk::album_ptr >& album, int row = 0 ); virtual void insertAlbums( const QList< Tomahawk::album_ptr >& album, int row = 0 );
virtual void insertArtists( const QList< Tomahawk::artist_ptr >& artist, int row = 0 ); virtual void insertArtists( const QList< Tomahawk::artist_ptr >& artist, int row = 0 );
virtual void insertQueries( const QList< Tomahawk::query_ptr >& queries, int row = 0, const QList< Tomahawk::PlaybackLog >& logs = QList< Tomahawk::PlaybackLog >() ); virtual void insertQueries( const QList< Tomahawk::query_ptr >& queries, int row = 0, const QList< Tomahawk::PlaybackLog >& logs = QList< Tomahawk::PlaybackLog >(), const QModelIndex& parent = QModelIndex() );
virtual void insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int row = 0, const QList< Tomahawk::PlaybackLog >& logs = QList< Tomahawk::PlaybackLog >() ); virtual void insertEntries( const QList< Tomahawk::plentry_ptr >& entries, int row = 0, const QModelIndex& parent = QModelIndex(), const QList< Tomahawk::PlaybackLog >& logs = QList< Tomahawk::PlaybackLog >() );
virtual void removeIndex( const QModelIndex& index, bool moreToCome = false ); virtual void removeIndex( const QModelIndex& index, bool moreToCome = false );