diff options
Diffstat (limited to 'Emby.Server.Implementations/UserViews/DynamicImageProvider.cs')
| -rw-r--r-- | Emby.Server.Implementations/UserViews/DynamicImageProvider.cs | 48 |
1 files changed, 13 insertions, 35 deletions
diff --git a/Emby.Server.Implementations/UserViews/DynamicImageProvider.cs b/Emby.Server.Implementations/UserViews/DynamicImageProvider.cs index 23b8c9b9e..c75033261 100644 --- a/Emby.Server.Implementations/UserViews/DynamicImageProvider.cs +++ b/Emby.Server.Implementations/UserViews/DynamicImageProvider.cs @@ -31,39 +31,12 @@ namespace Emby.Server.Implementations.UserViews _libraryManager = libraryManager; } - protected override List<BaseItem> GetItemsWithImages(IHasMetadata item) + protected override List<BaseItem> GetItemsWithImages(BaseItem item) { var view = (UserView)item; - if (string.Equals(view.ViewType, CollectionType.LiveTv, StringComparison.OrdinalIgnoreCase)) - { - var programs = _libraryManager.GetItemList(new InternalItemsQuery - { - IncludeItemTypes = new[] { typeof(LiveTvProgram).Name }, - ImageTypes = new[] { ImageType.Primary }, - Limit = 30, - IsMovie = true, - DtoOptions = new DtoOptions(false) - - }); - - return GetFinalItems(programs); - } - - if (string.Equals(view.ViewType, SpecialFolder.MovieGenre, StringComparison.OrdinalIgnoreCase) || - string.Equals(view.ViewType, SpecialFolder.TvGenre, StringComparison.OrdinalIgnoreCase)) - { - var userItemsResult = view.GetItemList(new InternalItemsQuery - { - CollapseBoxSetItems = false, - DtoOptions = new DtoOptions(false) - }); - - return userItemsResult.ToList(); - } - var isUsingCollectionStrip = IsUsingCollectionStrip(view); - var recursive = isUsingCollectionStrip && !new[] { CollectionType.Channels, CollectionType.BoxSets, CollectionType.Playlists }.Contains(view.ViewType ?? string.Empty, StringComparer.OrdinalIgnoreCase); + var recursive = isUsingCollectionStrip && !new[] { CollectionType.BoxSets, CollectionType.Playlists }.Contains(view.ViewType ?? string.Empty, StringComparer.OrdinalIgnoreCase); var result = view.GetItemList(new InternalItemsQuery { @@ -116,13 +89,19 @@ namespace Emby.Server.Implementations.UserViews if (isUsingCollectionStrip) { - return GetFinalItems(items.Where(i => i.HasImage(ImageType.Primary) || i.HasImage(ImageType.Thumb)), 8); + return items + .Where(i => i.HasImage(ImageType.Primary) || i.HasImage(ImageType.Thumb)) + .OrderBy(i => Guid.NewGuid()) + .ToList(); } - return GetFinalItems(items.Where(i => i.HasImage(ImageType.Primary))); + return items + .Where(i => i.HasImage(ImageType.Primary)) + .OrderBy(i => Guid.NewGuid()) + .ToList(); } - protected override bool Supports(IHasMetadata item) + protected override bool Supports(BaseItem item) { var view = item as UserView; if (view != null) @@ -139,14 +118,13 @@ namespace Emby.Server.Implementations.UserViews { CollectionType.Movies, CollectionType.TvShows, - CollectionType.Playlists, - CollectionType.Photos + CollectionType.Playlists }; return collectionStripViewTypes.Contains(view.ViewType ?? string.Empty); } - protected override string CreateImage(IHasMetadata item, List<BaseItem> itemsWithImages, string outputPathWithoutExtension, ImageType imageType, int imageIndex) + protected override string CreateImage(BaseItem item, List<BaseItem> itemsWithImages, string outputPathWithoutExtension, ImageType imageType, int imageIndex) { if (itemsWithImages.Count == 0) { |
