aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/UserView.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities/UserView.cs')
-rw-r--r--MediaBrowser.Controller/Entities/UserView.cs48
1 files changed, 43 insertions, 5 deletions
diff --git a/MediaBrowser.Controller/Entities/UserView.cs b/MediaBrowser.Controller/Entities/UserView.cs
index 5ee49ae5a..f14ba568b 100644
--- a/MediaBrowser.Controller/Entities/UserView.cs
+++ b/MediaBrowser.Controller/Entities/UserView.cs
@@ -6,6 +6,7 @@ using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Threading.Tasks;
+using System.Linq;
namespace MediaBrowser.Controller.Entities
{
@@ -16,7 +17,7 @@ namespace MediaBrowser.Controller.Entities
public Guid DisplayParentId { get; set; }
public Guid? UserId { get; set; }
-
+
public static ITVSeriesManager TVSeriesManager;
public static IPlaylistManager PlaylistManager;
@@ -24,7 +25,26 @@ namespace MediaBrowser.Controller.Entities
{
return true;
}
-
+
+ public override IEnumerable<Guid> GetIdsForAncestorQuery()
+ {
+ var list = new List<Guid>();
+
+ if (DisplayParentId != Guid.Empty)
+ {
+ list.Add(DisplayParentId);
+ }
+ else if (ParentId != Guid.Empty)
+ {
+ list.Add(ParentId);
+ }
+ else
+ {
+ list.Add(Id);
+ }
+ return list;
+ }
+
public override Task<QueryResult<BaseItem>> GetItems(InternalItemsQuery query)
{
var parent = this as Folder;
@@ -90,7 +110,9 @@ namespace MediaBrowser.Controller.Entities
CollectionType.Photos,
CollectionType.Playlists,
CollectionType.BoxSets,
- CollectionType.MusicVideos
+ CollectionType.MusicVideos,
+ CollectionType.Games,
+ CollectionType.Music
};
var collectionFolder = folder as ICollectionFolder;
@@ -107,10 +129,14 @@ namespace MediaBrowser.Controller.Entities
{
var standaloneTypes = new List<string>
{
- CollectionType.Playlists,
- CollectionType.BoxSets
+ CollectionType.Playlists
};
+ if (!ConfigurationManager.Configuration.EnableSharedCollectionViewImage)
+ {
+ standaloneTypes.Add(CollectionType.BoxSets);
+ }
+
var collectionFolder = folder as ICollectionFolder;
if (collectionFolder == null)
@@ -121,6 +147,18 @@ namespace MediaBrowser.Controller.Entities
return standaloneTypes.Contains(collectionFolder.CollectionType ?? string.Empty);
}
+ public static bool IsEligibleForEnhancedView(string viewType)
+ {
+ var types = new[] { CollectionType.Movies, CollectionType.TvShows };
+
+ return types.Contains(viewType ?? string.Empty, StringComparer.OrdinalIgnoreCase);
+ }
+
+ protected override Task ValidateChildrenInternal(IProgress<double> progress, System.Threading.CancellationToken cancellationToken, bool recursive, bool refreshChildMetadata, Providers.MetadataRefreshOptions refreshOptions, Providers.IDirectoryService directoryService)
+ {
+ return Task.FromResult(true);
+ }
+
[IgnoreDataMember]
public override bool SupportsPeople
{