diff --git a/src/playlist/albumitem.h b/src/playlist/albumitem.h index f5be3cbc4..15866dd88 100644 --- a/src/playlist/albumitem.h +++ b/src/playlist/albumitem.h @@ -19,6 +19,7 @@ public: explicit AlbumItem( const Tomahawk::album_ptr& album, AlbumItem* parent = 0, int row = -1 ); const Tomahawk::album_ptr& album() const { return m_album; }; + void setCover( const QPixmap& cover ) { this->cover = cover; emit dataChanged(); } AlbumItem* parent; QList children; diff --git a/src/playlist/albummodel.cpp b/src/playlist/albummodel.cpp index 867c34ab8..1742687bb 100644 --- a/src/playlist/albummodel.cpp +++ b/src/playlist/albummodel.cpp @@ -257,7 +257,7 @@ AlbumModel::onAlbumsAdded( const QList& albums, const Tomah QNetworkReply* reply = APP->nam()->get( req ); connect( reply, SIGNAL( finished() ), SLOT( onCoverArtDownloaded() ) ); -// connect( albumitem, SIGNAL( dataChanged() ), SLOT( onDataChanged() ) ); + connect( albumitem, SIGNAL( dataChanged() ), SLOT( onDataChanged() ) ); } emit endInsertRows(); @@ -269,7 +269,6 @@ void AlbumModel::onCoverArtDownloaded() { QNetworkReply* reply = qobject_cast( sender() ); - qDebug() << "attr:" << reply->request().attribute( QNetworkRequest::User ); QUrl redir = reply->attribute( QNetworkRequest::RedirectionTargetAttribute ).toUrl(); if ( redir.isEmpty() ) @@ -289,7 +288,7 @@ AlbumModel::onCoverArtDownloaded() } else { - ai->cover = pm.scaled( QSize( 64, 64 ), Qt::IgnoreAspectRatio, Qt::SmoothTransformation ); + ai->setCover( pm.scaled( QSize( 64, 64 ), Qt::IgnoreAspectRatio, Qt::SmoothTransformation ) ); } } } @@ -304,3 +303,11 @@ AlbumModel::onCoverArtDownloaded() reply->deleteLater(); } + + +void +AlbumModel::onDataChanged() +{ + AlbumItem* p = (AlbumItem*)sender(); + emit dataChanged( p->index, p->index.sibling( p->index.row(), columnCount( QModelIndex() ) - 1 ) ); +} diff --git a/src/playlist/albummodel.h b/src/playlist/albummodel.h index 1f96442cd..20c6fb636 100644 --- a/src/playlist/albummodel.h +++ b/src/playlist/albummodel.h @@ -74,6 +74,7 @@ protected: private slots: void onAlbumsAdded( const QList& albums, const Tomahawk::collection_ptr& collection ); void onCoverArtDownloaded(); + void onDataChanged(); private: QPersistentModelIndex m_currentIndex; diff --git a/src/playlist/playlistmodel.cpp b/src/playlist/playlistmodel.cpp index be7c1e2af..cbeafe6b1 100644 --- a/src/playlist/playlistmodel.cpp +++ b/src/playlist/playlistmodel.cpp @@ -145,7 +145,6 @@ void PlaylistModel::onDataChanged() { PlItem* p = (PlItem*)sender(); -// emit itemSizeChanged( p->index ); emit dataChanged( p->index, p->index.sibling( p->index.row(), columnCount() - 1 ) ); }