"Green Day Problem" solved. Year-Album grouping also obeys grouping tag that allows to order albums released in the same year non-alphabetically

This commit is contained in:
Ignas Kaziukenas 2014-10-29 15:29:45 +02:00
parent a2df43c830
commit 0a2a358d8b
1 changed files with 5 additions and 3 deletions

View File

@ -795,7 +795,7 @@ void LibraryModel::InitQuery(GroupBy type, LibraryQuery* q) {
q->SetColumnSpec("DISTINCT grouping");
break;
case GroupBy_YearAlbum:
q->SetColumnSpec("DISTINCT year, album");
q->SetColumnSpec("DISTINCT year, album, grouping");
break;
case GroupBy_Year:
q->SetColumnSpec("DISTINCT year");
@ -839,6 +839,7 @@ void LibraryModel::FilterQuery(GroupBy type, LibraryItem* item,
case GroupBy_YearAlbum:
q->AddWhere("year", item->metadata.year());
q->AddWhere("album", item->metadata.album());
q->AddWhere("grouping", item->metadata.grouping());
break;
case GroupBy_Year:
q->AddWhere("year", item->key);
@ -915,8 +916,9 @@ LibraryItem* LibraryModel::ItemFromQuery(GroupBy type, bool signal,
year = qMax(0, row.value(0).toInt());
item->metadata.set_year(row.value(0).toInt());
item->metadata.set_album(row.value(1).toString());
item->metadata.set_grouping(row.value(2).toString());
item->key = PrettyYearAlbum(year, item->metadata.album());
item->sort_text = SortTextForYear(year) + item->metadata.album();
item->sort_text = SortTextForYear(year) + item->metadata.grouping() + item->metadata.album();
break;
case GroupBy_Year:
@ -980,7 +982,7 @@ LibraryItem* LibraryModel::ItemFromSong(GroupBy type, bool signal,
item->metadata.set_year(year);
item->metadata.set_album(s.album());
item->key = PrettyYearAlbum(year, s.album());
item->sort_text = SortTextForYear(year) + s.album();
item->sort_text = SortTextForYear(year) + s.grouping() + s.album();
break;
case GroupBy_Year: