summaryrefslogtreecommitdiffstats
path: root/collectiondatesview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'collectiondatesview.cpp')
-rw-r--r--collectiondatesview.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/collectiondatesview.cpp b/collectiondatesview.cpp
index 59fd5d2..6dad995 100644
--- a/collectiondatesview.cpp
+++ b/collectiondatesview.cpp
@@ -22,9 +22,11 @@ void CollectionDatesView::populate(){
QIcon songIcon(":/song.png");
QSqlQuery songQ(db);
songQ.prepare("SELECT sipos, ttitle, tfullpath, igenres_id, artists.tartists_name, albums.talbum_name, ilength FROM songs, artists, albums WHERE albums.ialbums_id = :id AND songs.iartists_id = artists.iartists_id and songs.ialbums_id = albums.ialbums_id ORDER BY sipos");
+ QSqlQuery artistQ(db);
+ artistQ.prepare("SELECT DISTINCT(tartists_name) FROM artists, songs WHERE songs.ialbums_id = :aid AND songs.iartists_id = artists.iartists_id LIMIT 1");
QHash<int, QStandardItem*> years;
QHash<QString, QStandardItem*> yearMonths;
- QSqlQuery q1("SELECT DISTINCT(albums.ialbums_id), talbum_name, dadded, tartists_name FROM albums, artists, songs WHERE albums.ialbums_id = songs.ialbums_id AND songs.iartists_id = artists.iartists_id ORDER BY dadded DESC", db);
+ QSqlQuery q1("SELECT ialbums_id, talbum_name, dadded FROM albums ORDER BY dadded DESC", db);
while(q1.next()){
QDate added = q1.value(2).toDate();
int year = added.year();
@@ -50,7 +52,13 @@ void CollectionDatesView::populate(){
yearItem->appendRow(ymItem);
}
QStandardItem *albumItem = new QStandardItem;
- QString albumText = QString("%1 - %2").arg(q1.value(3).toString()).arg(q1.value(1).toString());
+ QString artist;
+ artistQ.bindValue(":aid", q1.value(0));
+ artistQ.exec();
+ while(artistQ.next()){
+ artist = artistQ.value(0).toString();
+ }
+ QString albumText = QString("%1 - %2").arg(artist).arg(q1.value(1).toString());
albumItem->setText(albumText);
albumItem->setIcon(albumIcon);
albumItem->setData(Album, TypeRole);