summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2017-03-04 15:47:18 +0100
committerArno <arno@disconnect.de>2017-03-04 15:47:18 +0100
commit5aab07cbabca9c72fd867100bd0f5cb0e0ee65c2 (patch)
treedd1834fb892c448eaa6b980da7079e21ae53f5fe
parentbb26c39d5310c48f8159dbc3490f829d6c62b386 (diff)
downloadBeetPlayer-5aab07cbabca9c72fd867100bd0f5cb0e0ee65c2.tar.gz
BeetPlayer-5aab07cbabca9c72fd867100bd0f5cb0e0ee65c2.tar.bz2
BeetPlayer-5aab07cbabca9c72fd867100bd0f5cb0e0ee65c2.zip
Show artist when viewing by album
Show VA if there are more than 1 artists, otherwise the artist's name.
-rw-r--r--playerwidget.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/playerwidget.cpp b/playerwidget.cpp
index 5d7e1d0..3e51944 100644
--- a/playerwidget.cpp
+++ b/playerwidget.cpp
@@ -14,6 +14,7 @@
#include <QSqlQuery>
#include <QAction>
#include <QToolBar>
+#include <QHash>
#include <QApplication>
#include <algorithm>
@@ -321,11 +322,11 @@ void PlayerWidget::populateByAlbum(QStandardItem *parent, const QVariant &filter
}
albumQ.exec();
while(albumQ.next()){
+ QHash<QString, int> 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);
}
}