Consistently added GroupBy_Bitrate enum item

This commit is contained in:
GitAnt 2013-12-16 19:18:02 +01:00
parent a8ae737bce
commit d53bcde897
4 changed files with 36 additions and 0 deletions

1
.gitignore vendored
View File

@ -8,6 +8,7 @@
*.dll *.dll
*.exe *.exe
*.pyd *.pyd
build/
3rdparty/libprojectm/config.inp 3rdparty/libprojectm/config.inp
3rdparty/libprojectm/libprojectM.pc 3rdparty/libprojectm/libprojectM.pc
CMakeLists.txt.user CMakeLists.txt.user

View File

@ -145,8 +145,12 @@ QStandardItem* GlobalSearchModel::BuildContainers(
sort_text = display_text; sort_text = display_text;
break; break;
case LibraryModel::GroupBy_Bitrate:
return parent;
case LibraryModel::GroupBy_None: case LibraryModel::GroupBy_None:
return parent; return parent;
} }
// Find a container for this level // Find a container for this level

View File

@ -190,6 +190,9 @@ void LibraryModel::SongsDiscovered(const SongList& songs) {
case GroupBy_YearAlbum: case GroupBy_YearAlbum:
key = PrettyYearAlbum(qMax(0, song.year()), song.album()); break; key = PrettyYearAlbum(qMax(0, song.year()), song.album()); break;
case GroupBy_FileType: key = song.filetype(); break; case GroupBy_FileType: key = song.filetype(); break;
case GroupBy_Bitrate:
qLog(Error) << "GroupBy_Bitrate";
break;
case GroupBy_None: case GroupBy_None:
qLog(Error) << "GroupBy_None"; qLog(Error) << "GroupBy_None";
break; break;
@ -280,6 +283,9 @@ QString LibraryModel::DividerKey(GroupBy type, LibraryItem* item) const {
case GroupBy_YearAlbum: case GroupBy_YearAlbum:
return SortTextForYear(item->metadata.year()); return SortTextForYear(item->metadata.year());
case GroupBy_Bitrate:
return QString();
case GroupBy_None: case GroupBy_None:
return QString(); return QString();
} }
@ -313,6 +319,10 @@ QString LibraryModel::DividerDisplayText(GroupBy type, const QString& key) const
return tr("Unknown"); return tr("Unknown");
return QString::number(key.toInt()); // To remove leading 0s return QString::number(key.toInt()); // To remove leading 0s
case GroupBy_Bitrate:
// fallthrough
;
case GroupBy_None: case GroupBy_None:
// fallthrough // fallthrough
; ;
@ -739,6 +749,9 @@ void LibraryModel::InitQuery(GroupBy type, LibraryQuery* q) {
case GroupBy_AlbumArtist: case GroupBy_AlbumArtist:
q->SetColumnSpec("DISTINCT effective_albumartist"); q->SetColumnSpec("DISTINCT effective_albumartist");
break; break;
case GroupBy_Bitrate:
q->SetColumnSpec("%songs_table.ROWID, " + Song::kColumnSpec);
break;
case GroupBy_None: case GroupBy_None:
q->SetColumnSpec("%songs_table.ROWID, " + Song::kColumnSpec); q->SetColumnSpec("%songs_table.ROWID, " + Song::kColumnSpec);
break; break;
@ -796,6 +809,9 @@ void LibraryModel::FilterQuery(GroupBy type, LibraryItem* item, LibraryQuery* q)
case GroupBy_FileType: case GroupBy_FileType:
q->AddWhere("filetype", item->metadata.filetype()); q->AddWhere("filetype", item->metadata.filetype());
break; break;
case GroupBy_Bitrate:
qLog(Error) << "Unknown GroupBy type" << type << "used in filter";
break;
case GroupBy_None: case GroupBy_None:
qLog(Error) << "Unknown GroupBy type" << type << "used in filter"; qLog(Error) << "Unknown GroupBy type" << type << "used in filter";
break; break;
@ -863,6 +879,13 @@ LibraryItem* LibraryModel::ItemFromQuery(GroupBy type,
item->key = item->metadata.TextForFiletype(); item->key = item->metadata.TextForFiletype();
break; break;
case GroupBy_Bitrate:
item->metadata.InitFromQuery(row, true);
item->key = item->metadata.title();
item->display_text = item->metadata.TitleWithCompilationArtist();
item->sort_text = SortTextForSong(item->metadata);
break;
case GroupBy_None: case GroupBy_None:
item->metadata.InitFromQuery(row, true); item->metadata.InitFromQuery(row, true);
item->key = item->metadata.title(); item->key = item->metadata.title();
@ -918,6 +941,13 @@ LibraryItem* LibraryModel::ItemFromSong(GroupBy type,
item->key = s.TextForFiletype(); item->key = s.TextForFiletype();
break; break;
case GroupBy_Bitrate:
item->metadata = s;
item->key = s.title();
item->display_text = s.TitleWithCompilationArtist();
item->sort_text = SortTextForSong(s);
break;
case GroupBy_None: case GroupBy_None:
item->metadata = s; item->metadata = s;
item->key = s.title(); item->key = s.title();

View File

@ -82,6 +82,7 @@ class LibraryModel : public SimpleTreeModel<LibraryItem> {
GroupBy_FileType = 8, GroupBy_FileType = 8,
GroupBy_Performer = 9, GroupBy_Performer = 9,
GroupBy_Grouping = 10, GroupBy_Grouping = 10,
GroupBy_Bitrate = 11,
}; };
struct Grouping { struct Grouping {