summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-07-06 20:24:56 +0200
committerArno <arno@disconnect.de>2017-07-06 20:24:56 +0200
commit0e5246fbea2fdd8fe1a0408deffcd53a7439389a (patch)
tree8d1abf4752421cc734b67ad1da3f5d955569de68
parent669c4a20325927188ce411c10265a9069bf24b8d (diff)
downloadBeetPlayer-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.cpp14
-rw-r--r--webdownloader.cpp1
-rw-r--r--webdownloader.h2
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;
};