Add playlist album artist for use in playlist grid view (Issue 509)

This commit is contained in:
Angus Gratton 2011-11-28 17:05:13 +11:00 committed by David Sansome
parent b158f6788d
commit 360aaabd0d
2 changed files with 5 additions and 2 deletions

View File

@ -188,6 +188,9 @@ class Song {
const QString& artist() const { return d->artist_; }
const QString& albumartist() const { return d->albumartist_; }
const QString& effective_albumartist() const { return d->albumartist_.isEmpty() ? d->artist_ : d->albumartist_; }
// Playlist views are special because you don't want to fill in album artists automatically for
// compilations, but you do for normal albums:
const QString& playlist_albumartist() const { return is_compilation() ? d->albumartist_ : effective_albumartist(); }
const QString& composer() const { return d->composer_; }
int track() const { return d->track_; }
int disc() const { return d->disc_; }

View File

@ -256,7 +256,7 @@ QVariant Playlist::data(const QModelIndex& index, int role) const {
case Column_Disc: return song.disc();
case Column_Year: return song.year();
case Column_Genre: return song.genre();
case Column_AlbumArtist: return song.albumartist();
case Column_AlbumArtist: return song.playlist_albumartist();
case Column_Composer: return song.composer();
case Column_Rating: return song.rating();
@ -1068,7 +1068,7 @@ bool Playlist::CompareItems(int column, Qt::SortOrder order,
case Column_Disc: cmp(disc);
case Column_Year: cmp(year);
case Column_Genre: strcmp(genre);
case Column_AlbumArtist: strcmp(albumartist);
case Column_AlbumArtist: strcmp(playlist_albumartist);
case Column_Composer: strcmp(composer);
case Column_Rating: cmp(rating);