123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using System.Collections.Generic;
- using System.Linq;
- using MediaBrowser.Controller.Entities;
- using MediaBrowser.Controller.Playlists;
- using MediaBrowser.Model.Querying;
- using MediaBrowser.Model.Serialization;
- namespace Emby.Server.Implementations.Playlists
- {
- public class PlaylistsFolder : BasePluginFolder
- {
- public PlaylistsFolder()
- {
- Name = "Playlists";
- }
- public override bool IsVisible(User user)
- {
- return base.IsVisible(user) && GetChildren(user, true).Any();
- }
- protected override IEnumerable<BaseItem> GetEligibleChildrenForRecursiveChildren(User user)
- {
- return base.GetEligibleChildrenForRecursiveChildren(user).OfType<Playlist>();
- }
- [IgnoreDataMember]
- public override bool IsHidden
- {
- get
- {
- return true;
- }
- }
- [IgnoreDataMember]
- public override bool SupportsInheritedParentImages
- {
- get
- {
- return false;
- }
- }
- [IgnoreDataMember]
- public override string CollectionType
- {
- get { return MediaBrowser.Model.Entities.CollectionType.Playlists; }
- }
- protected override QueryResult<BaseItem> GetItemsInternal(InternalItemsQuery query)
- {
- if (query.User == null)
- {
- query.Recursive = false;
- return base.GetItemsInternal(query);
- }
- query.Recursive = true;
- query.IncludeItemTypes = new string[] { "Playlist" };
- query.Parent = null;
- return LibraryManager.GetItemsResult(query);
- }
- }
- }
|