protected virtual IEnumerable<IFilterListModel> CreateFiltersFor (DatabaseSource src)
{
if (!HasArtistAlbum) {
yield break;
}
DatabaseArtistListModel artist_model = new DatabaseArtistListModel (src, src.DatabaseTrackModel, ServiceManager.DbConnection, src.UniqueId);
DatabaseAlbumListModel album_model = new DatabaseAlbumListModel (src, src.DatabaseTrackModel, ServiceManager.DbConnection, src.UniqueId);
DatabaseQueryFilterModel<string> genre_model = new DatabaseQueryFilterModel<string> (src, src.DatabaseTrackModel, ServiceManager.DbConnection,
Catalog.GetString ("All Genres ({0})"), src.UniqueId, BansheeQuery.GenreField, "Genre");
if (this == src) {
this.artist_model = artist_model;
this.album_model = album_model;
this.genre_model = genre_model;
}
yield return artist_model;
yield return album_model;
yield return genre_model;
}