From 5aab07cbabca9c72fd867100bd0f5cb0e0ee65c2 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 4 Mar 2017 15:47:18 +0100 Subject: Show artist when viewing by album Show VA if there are more than 1 artists, otherwise the artist's name. --- playerwidget.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'playerwidget.cpp') diff --git a/playerwidget.cpp b/playerwidget.cpp index 5d7e1d0..3e51944 100644 --- a/playerwidget.cpp +++ b/playerwidget.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -321,11 +322,11 @@ void PlayerWidget::populateByAlbum(QStandardItem *parent, const QVariant &filter } albumQ.exec(); while(albumQ.next()){ + QHash artistcount; QStandardItem *curAlbum = new QStandardItem; curAlbum->setEditable(false); curAlbum->setFont(QFont("courier")); - QString albumText = QString(tr("%1 (%2)")).arg(albumQ.value(1).toString()).arg(QString::number(albumQ.value(2).toInt())); - curAlbum->setText(albumText); + curAlbum->setIcon(albumIcon); curAlbum->setData(Album, TypeRole); curAlbum->setData(albumQ.value(0), IdRole); @@ -338,7 +339,7 @@ void PlayerWidget::populateByAlbum(QStandardItem *parent, const QVariant &filter QStandardItem *curSong = new QStandardItem; curSong->setEditable(false); curSong->setFont(QFont("courier")); - QString songText = QString(tr("%1 - %2")).arg(songQ.value(0).toInt(), 3, 10, QChar('0')).arg(songQ.value(1).toString()); + QString songText = QString(tr("%1 - %2 - %3")).arg(songQ.value(0).toInt(), 3, 10, QChar('0')).arg(songQ.value(1).toString()).arg(songQ.value(4).toString()); curSong->setText(songText); curSong->setIcon(songIcon); curSong->setData(Song, TypeRole); @@ -346,10 +347,18 @@ void PlayerWidget::populateByAlbum(QStandardItem *parent, const QVariant &filter curSong->setData(songQ.value(2), FullPathRole); curSong->setData(songQ.value(3), GenreRole); curSong->setData(songQ.value(4), ArtistRole); + ++artistcount[songQ.value(4).toString()]; curSong->setData(songQ.value(1), TitleRole); curSong->setData(songQ.value(5), AlbumRole); curAlbum->appendRow(curSong); } + QString albumText; + if(artistcount.keys().count() > 1){ + albumText = QString(tr("%1 - VA - (%2)")).arg(albumQ.value(1).toString()).arg(QString::number(albumQ.value(2).toInt())); + }else{ + albumText = QString(tr("%1 - %2 - (%3)")).arg(albumQ.value(1).toString()).arg(artistcount.keys().first()). arg(QString::number(albumQ.value(2).toInt())); + } + curAlbum->setText(albumText); } } -- cgit v1.2.3-70-g09d2