diff options
Diffstat (limited to 'MediaBrowser.Model/Entities/DisplayPreferences.cs')
| -rw-r--r-- | MediaBrowser.Model/Entities/DisplayPreferences.cs | 182 |
1 files changed, 182 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Entities/DisplayPreferences.cs b/MediaBrowser.Model/Entities/DisplayPreferences.cs new file mode 100644 index 000000000..2fe4ae564 --- /dev/null +++ b/MediaBrowser.Model/Entities/DisplayPreferences.cs @@ -0,0 +1,182 @@ +using MediaBrowser.Model.Drawing; +using ProtoBuf; +using System; +using System.Collections.Generic; + +namespace MediaBrowser.Model.Entities +{ + /// <summary> + /// Defines the display preferences for any item that supports them (usually Folders) + /// </summary> + [ProtoContract] + public class DisplayPreferences + { + /// <summary> + /// The image scale + /// </summary> + private const double ImageScale = .9; + + /// <summary> + /// Initializes a new instance of the <see cref="DisplayPreferences" /> class. + /// </summary> + public DisplayPreferences() + { + ViewType = ViewTypes.Poster; + PrimaryImageType = ImageType.Primary; + RememberIndexing = false; + PrimaryImageHeight = 250; + PrimaryImageWidth = 250; + CustomPrefs = new Dictionary<string, string>(); + } + + /// <summary> + /// Gets or sets the user id. + /// </summary> + /// <value>The user id.</value> + [ProtoMember(1)] + public Guid UserId { get; set; } + /// <summary> + /// Gets or sets the type of the view. + /// </summary> + /// <value>The type of the view.</value> + [ProtoMember(2)] + public ViewTypes ViewType { get; set; } + /// <summary> + /// Gets or sets the type of the primary image. + /// </summary> + /// <value>The type of the primary image.</value> + [ProtoMember(3)] + public ImageType PrimaryImageType { get; set; } + /// <summary> + /// Gets or sets the sort by. + /// </summary> + /// <value>The sort by.</value> + [ProtoMember(4)] + public string SortBy { get; set; } + /// <summary> + /// Gets or sets the index by. + /// </summary> + /// <value>The index by.</value> + [ProtoMember(5)] + public string IndexBy { get; set; } + /// <summary> + /// Gets or sets a value indicating whether [remember indexing]. + /// </summary> + /// <value><c>true</c> if [remember indexing]; otherwise, <c>false</c>.</value> + [ProtoMember(6)] + public bool RememberIndexing { get; set; } + /// <summary> + /// Gets or sets the height of the primary image. + /// </summary> + /// <value>The height of the primary image.</value> + [ProtoMember(7)] + public int PrimaryImageHeight { get; set; } + /// <summary> + /// Gets or sets the width of the primary image. + /// </summary> + /// <value>The width of the primary image.</value> + [ProtoMember(8)] + public int PrimaryImageWidth { get; set; } + /// <summary> + /// Gets or sets the custom prefs. + /// </summary> + /// <value>The custom prefs.</value> + [ProtoMember(9)] + public Dictionary<string, string> CustomPrefs { get; set; } + /// <summary> + /// Gets or sets the scroll direction. + /// </summary> + /// <value>The scroll direction.</value> + [ProtoMember(10)] + public ScrollDirection ScrollDirection { get; set; } + /// <summary> + /// Gets or sets a value indicating whether [remember sorting]. + /// </summary> + /// <value><c>true</c> if [remember sorting]; otherwise, <c>false</c>.</value> + [ProtoMember(11)] + public bool RememberSorting { get; set; } + /// <summary> + /// Gets or sets the sort order. + /// </summary> + /// <value>The sort order.</value> + [ProtoMember(12)] + public SortOrder SortOrder { get; set; } + + /// <summary> + /// Increases the size of the image. + /// </summary> + public void IncreaseImageSize() + { + var newWidth = PrimaryImageWidth / ImageScale; + + var size = DrawingUtils.Resize(PrimaryImageWidth, PrimaryImageHeight, newWidth); + + PrimaryImageWidth = Convert.ToInt32(size.Width); + PrimaryImageHeight = Convert.ToInt32(size.Height); + } + + /// <summary> + /// Decreases the size of the image. + /// </summary> + public void DecreaseImageSize() + { + var size = DrawingUtils.Scale(PrimaryImageWidth, PrimaryImageHeight, ImageScale); + + PrimaryImageWidth = Convert.ToInt32(size.Width); + PrimaryImageHeight = Convert.ToInt32(size.Height); + } + } + + /// <summary> + /// Enum ViewTypes + /// </summary> + public enum ViewTypes + { + /// <summary> + /// The poster + /// </summary> + Poster, + /// <summary> + /// The cover flow + /// </summary> + CoverFlow, + /// <summary> + /// The thumb strip + /// </summary> + ThumbStrip, + /// <summary> + /// The list + /// </summary> + List + } + + /// <summary> + /// Enum ScrollDirection + /// </summary> + public enum ScrollDirection + { + /// <summary> + /// The horizontal + /// </summary> + Horizontal, + /// <summary> + /// The vertical + /// </summary> + Vertical + } + + /// <summary> + /// Enum SortOrder + /// </summary> + public enum SortOrder + { + /// <summary> + /// The ascending + /// </summary> + Ascending, + /// <summary> + /// The descending + /// </summary> + Descending + } +} |
