mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-03 06:18:28 +01:00
added headroom scrolling
This commit is contained in:
@@ -52,34 +52,6 @@ namespace MediaBrowser.Controller.Entities.Audio
|
||||
/// <value><c>true</c> if this instance has embedded image; otherwise, <c>false</c>.</value>
|
||||
public bool HasEmbeddedImage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Override this to true if class should be grouped under a container in indicies
|
||||
/// The container class should be defined via IndexContainer
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [group in index]; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
public override bool GroupInIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override this to return the folder that should be used to construct a container
|
||||
/// for this item in an index. GroupInIndex should be true as well.
|
||||
/// </summary>
|
||||
/// <value>The index container.</value>
|
||||
[IgnoreDataMember]
|
||||
public override Folder IndexContainer
|
||||
{
|
||||
get
|
||||
{
|
||||
return LatestItemsIndexContainer ?? new MusicAlbum { Name = "Unknown Album" };
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
protected override bool SupportsOwnedItems
|
||||
{
|
||||
@@ -94,7 +66,7 @@ namespace MediaBrowser.Controller.Entities.Audio
|
||||
{
|
||||
get
|
||||
{
|
||||
return Parents.OfType<MusicAlbum>().FirstOrDefault();
|
||||
return AlbumEntity;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,6 +120,12 @@ namespace MediaBrowser.Controller.Entities.Audio
|
||||
/// <value>The album.</value>
|
||||
public string Album { get; set; }
|
||||
|
||||
[IgnoreDataMember]
|
||||
public MusicAlbum AlbumEntity
|
||||
{
|
||||
get { return FindParent<MusicAlbum>(); }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the type of the media.
|
||||
/// </summary>
|
||||
@@ -177,7 +155,7 @@ namespace MediaBrowser.Controller.Entities.Audio
|
||||
/// <returns>System.String.</returns>
|
||||
protected override string CreateUserDataKey()
|
||||
{
|
||||
var parent = FindParent<MusicAlbum>();
|
||||
var parent = AlbumEntity;
|
||||
|
||||
if (parent != null)
|
||||
{
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using MediaBrowser.Model.Configuration;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Users;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
@@ -14,11 +13,8 @@ namespace MediaBrowser.Controller.Entities.Audio
|
||||
/// </summary>
|
||||
public class MusicAlbum : Folder, IHasAlbumArtist, IHasArtist, IHasMusicGenres, IHasLookupInfo<AlbumInfo>
|
||||
{
|
||||
public List<Guid> SoundtrackIds { get; set; }
|
||||
|
||||
public MusicAlbum()
|
||||
{
|
||||
SoundtrackIds = new List<Guid>();
|
||||
Artists = new List<string>();
|
||||
AlbumArtists = new List<string>();
|
||||
}
|
||||
@@ -77,49 +73,6 @@ namespace MediaBrowser.Controller.Entities.Audio
|
||||
return Tracks;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Songs will group into us so don't also include us in the index
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [include in index]; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
public override bool IncludeInIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override this to true if class should be grouped under a container in indicies
|
||||
/// The container class should be defined via IndexContainer
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [group in index]; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
public override bool GroupInIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The unknwon artist
|
||||
/// </summary>
|
||||
private static readonly MusicArtist UnknwonArtist = new MusicArtist { Name = "<Unknown>" };
|
||||
|
||||
/// <summary>
|
||||
/// Override this to return the folder that should be used to construct a container
|
||||
/// for this item in an index. GroupInIndex should be true as well.
|
||||
/// </summary>
|
||||
/// <value>The index container.</value>
|
||||
[IgnoreDataMember]
|
||||
public override Folder IndexContainer
|
||||
{
|
||||
get { return Parent as MusicArtist ?? UnknwonArtist; }
|
||||
}
|
||||
|
||||
public List<string> Artists { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -496,7 +496,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// </summary>
|
||||
/// <typeparam name="T"></typeparam>
|
||||
/// <returns>``0.</returns>
|
||||
public T FindParent<T>()
|
||||
protected T FindParent<T>()
|
||||
where T : Folder
|
||||
{
|
||||
return Parents.OfType<T>().FirstOrDefault();
|
||||
@@ -906,38 +906,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// <value>The provider ids.</value>
|
||||
public Dictionary<string, string> ProviderIds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Override this to false if class should be ignored for indexing purposes
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [include in index]; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
public virtual bool IncludeInIndex
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override this to true if class should be grouped under a container in indicies
|
||||
/// The container class should be defined via IndexContainer
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [group in index]; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
public virtual bool GroupInIndex
|
||||
{
|
||||
get { return false; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override this to return the folder that should be used to construct a container
|
||||
/// for this item in an index. GroupInIndex should be true as well.
|
||||
/// </summary>
|
||||
/// <value>The index container.</value>
|
||||
[IgnoreDataMember]
|
||||
public virtual Folder IndexContainer
|
||||
{
|
||||
get { return null; }
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
public virtual Folder LatestItemsIndexContainer
|
||||
{
|
||||
|
||||
@@ -45,16 +45,6 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
/// <value>The index number.</value>
|
||||
public int? IndexNumberEnd { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// We want to group into series not show individually in an index
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [group in index]; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
public override bool GroupInIndex
|
||||
{
|
||||
get { return true; }
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
protected override bool SupportsOwnedItems
|
||||
{
|
||||
@@ -91,19 +81,6 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// We roll up into series
|
||||
/// </summary>
|
||||
/// <value>The index container.</value>
|
||||
[IgnoreDataMember]
|
||||
public override Folder IndexContainer
|
||||
{
|
||||
get
|
||||
{
|
||||
return Season;
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
public override Folder LatestItemsIndexContainer
|
||||
{
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using MediaBrowser.Controller.Localization;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Querying;
|
||||
using MediaBrowser.Model.Users;
|
||||
@@ -15,20 +14,6 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
/// </summary>
|
||||
public class Season : Folder, IHasSeries, IHasLookupInfo<SeasonInfo>
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Seasons are just containers
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [include in index]; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
public override bool IncludeInIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
[IgnoreDataMember]
|
||||
public override bool SupportsAddingToPlaylist
|
||||
{
|
||||
@@ -50,33 +35,6 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
get { return Series ?? Parent; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// We want to group into our Series
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [group in index]; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
public override bool GroupInIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override this to return the folder that should be used to construct a container
|
||||
/// for this item in an index. GroupInIndex should be true as well.
|
||||
/// </summary>
|
||||
/// <value>The index container.</value>
|
||||
[IgnoreDataMember]
|
||||
public override Folder IndexContainer
|
||||
{
|
||||
get
|
||||
{
|
||||
return Series;
|
||||
}
|
||||
}
|
||||
|
||||
// Genre, Rating and Stuido will all be the same
|
||||
protected override IEnumerable<string> GetIndexByOptions()
|
||||
{
|
||||
|
||||
@@ -94,19 +94,6 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Series aren't included directly in indices - Their Episodes will roll up to them
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [include in index]; otherwise, <c>false</c>.</value>
|
||||
[IgnoreDataMember]
|
||||
public override bool IncludeInIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the user data key.
|
||||
/// </summary>
|
||||
|
||||
Reference in New Issue
Block a user