diff options
Diffstat (limited to 'playerwidget.cpp')
-rw-r--r-- | playerwidget.cpp | 15 |
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); } } |