summaryrefslogtreecommitdiffstats
path: root/playerwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'playerwidget.cpp')
-rw-r--r--playerwidget.cpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/playerwidget.cpp b/playerwidget.cpp
index 0fb97ed..4464479 100644
--- a/playerwidget.cpp
+++ b/playerwidget.cpp
@@ -1472,9 +1472,18 @@ void PlayerWidget::searchMusicbrainzLeft(){
mWebDownloader->fetchData(artist, album);
}
-
void PlayerWidget::webDlDone(){
QString aId = mWebDownloader->artistId();
+ QString artist = mWebDownloader->artist();
+ QHash<QString, QString> dbAlbums;
+ QSqlDatabase db = QSqlDatabase::database("beetplayerdb");
+ QSqlQuery aQ(db);
+ aQ.prepare("SELECT DISTINCT(albums.talbum_name), siyear FROM artists, albums, songs WHERE artists.tartists_name = :aname AND artists.iartists_id = songs.iartists_id AND songs.ialbums_id = albums.ialbums_id");
+ aQ.bindValue(":aname", artist);
+ aQ.exec();
+ while(aQ.next()){
+ dbAlbums.insert(aQ.value(0).toString(), aQ.value(1).toString());
+ }
QString text;
if(!aId.isEmpty()){
text.append(QString(tr("<b>Musicbrainz:</b><table style=\"margin-bottom: 20px\">")));
@@ -1487,18 +1496,27 @@ void PlayerWidget::webDlDone(){
std::sort(other.begin(), other.end(), [](auto a, auto b){
return a.at(2).toInt() < b.at(2).toInt();
});
- text.append(QString(tr("<b>All Albums (%1):</b><ul>")).arg(QString::number(other.count())));
+ text.append(QString(tr("<b>All Albums (%1):</b><dl>")).arg(QString::number(other.count())));
foreach(const QVariant vl, other){
QVariantList cur = vl.toList();
QString id = cur.at(0).toString();
QString album = cur.at(1).toString();
QString year = cur.at(2).toString();
+ bool present = false;
if(year == "-1"){
year = "nota";
}
- text.append(QString("<li>%1: <a href=\"https://musicbrainz.org/release-group/%2\">%3</a></li>").arg(year).arg(id).arg(album));
+ if(dbAlbums.contains(album)){
+ year = dbAlbums.value(album);
+ present = true;
+ }
+ if(present){
+ text.append(QString("<dt>&#x2642; %1: <a href=\"https://musicbrainz.org/release-group/%2\">%3</a></dt>").arg(year).arg(id).arg(album));
+ }else{
+ text.append(QString("<dt>&#x2640; %1: <a href=\"https://musicbrainz.org/release-group/%2\">%3</a></dt>").arg(year).arg(id).arg(album));
+ }
}
- text.append("</ul>");
+ text.append("</dl>");
}else{
text.append(QString(tr("<b>Musicbrainz: No match!</b><br/>")));
const QMap<QString, QString> alt = mWebDownloader->alternateArtists();