diff options
author | Arno <arno@disconnect.de> | 2017-07-06 20:24:56 +0200 |
---|---|---|
committer | Arno <arno@disconnect.de> | 2017-07-06 20:24:56 +0200 |
commit | 0e5246fbea2fdd8fe1a0408deffcd53a7439389a (patch) | |
tree | 8d1abf4752421cc734b67ad1da3f5d955569de68 | |
parent | 669c4a20325927188ce411c10265a9069bf24b8d (diff) | |
download | BeetPlayer-0e5246fbea2fdd8fe1a0408deffcd53a7439389a.tar.gz BeetPlayer-0e5246fbea2fdd8fe1a0408deffcd53a7439389a.tar.bz2 BeetPlayer-0e5246fbea2fdd8fe1a0408deffcd53a7439389a.zip |
Improve display of MusicBrainz result
Don't show the release-group id, add links for the artist and the album
instead.
-rw-r--r-- | playerwidget.cpp | 14 | ||||
-rw-r--r-- | webdownloader.cpp | 1 | ||||
-rw-r--r-- | webdownloader.h | 2 |
3 files changed, 10 insertions, 7 deletions
diff --git a/playerwidget.cpp b/playerwidget.cpp index 7cfd46d..348b249 100644 --- a/playerwidget.cpp +++ b/playerwidget.cpp @@ -1254,15 +1254,15 @@ void PlayerWidget::searchMusicbrainzLeft(){ void PlayerWidget::webDlDone(){ - QString text(tr("<b>Musicbrainz:</b><ul>")); - text.append(QString(tr("<li>Artist: %1</li>")).arg(mWebDownloader->artist())); - text.append(QString(tr("<li>Album: %1</li>")).arg(mWebDownloader->album())); - foreach(QString rg, mWebDownloader->data()){ - text.append(QString("<li><a href=\"https://musicbrainz.org/release-group/%1\">%1</a></li>").arg(rg)); + QString text(tr("<b>Musicbrainz:</b><table style=\"margin-bottom: 20px\">")); + QString aId = mWebDownloader->artistId(); + text.append(QString(tr("<tr><td style=\"padding-left: 30px\">Artist</td><td style=\"padding-left: 30px\"><a href=\"https://musicbrainz.org/artist/%1\">%2</a></td></tr>")).arg(aId).arg(mWebDownloader->artist())); + foreach(QString alId, mWebDownloader->data()){ + text.append(QString("<tr><td style=\"padding-left: 30px\">Album</td><td style=\"padding-left: 30px\"><a href=\"https://musicbrainz.org/release-group/%1\">%2</a></td></tr>").arg(alId).arg(mWebDownloader->album())); } - text.append("</ul>"); + text.append("</table>"); const QMap<QString, QString> other = mWebDownloader->otherData(); - text.append(QString(tr("<b>Other Albums (%1):</b><ul>")).arg(QString::number(other.count()))); + text.append(QString(tr("<b>All Albums (%1):</b><ul>")).arg(QString::number(other.count()))); QStringList albums = other.values(); std::sort(albums.begin(), albums.end()); foreach(QString a, albums){ diff --git a/webdownloader.cpp b/webdownloader.cpp index c0505b9..897ce80 100644 --- a/webdownloader.cpp +++ b/webdownloader.cpp @@ -41,6 +41,7 @@ void WebDownloader::dlFinished(QNetworkReply *reply){ mData << curId; } QString aId = titleRes.toObject().value("artist-credit").toArray().at(0).toObject().value("artist").toObject().value("id").toString(); + mArtistId = aId; std::for_each(relArr.constBegin(), relArr.constEnd(), [this, aId](auto c){ QString id = c.toObject().value("artist-credit").toArray().at(0).toObject().value("artist").toObject().value("id").toString(); if(id == aId){ diff --git a/webdownloader.h b/webdownloader.h index 4382353..6fec7f4 100644 --- a/webdownloader.h +++ b/webdownloader.h @@ -12,6 +12,7 @@ class WebDownloader : public QObject { void fetchData(QString artist, QString album); const QString album() const { return mAlbum; } const QString artist() const { return mArtist; } + const QString artistId() const { return mArtistId; } const QStringList data() const { return mData; } const QMap<QString, QString> otherData() const { return mOtherData; } @@ -25,6 +26,7 @@ class WebDownloader : public QObject { QNetworkAccessManager *mAccessMgr; QString mArtist; QString mAlbum; + QString mArtistId; QStringList mData; QMap<QString, QString> mOtherData; }; |