diff options
Diffstat (limited to 'MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs | 294 |
1 files changed, 0 insertions, 294 deletions
diff --git a/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs b/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs deleted file mode 100644 index 30e39f6b0..000000000 --- a/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs +++ /dev/null @@ -1,294 +0,0 @@ -using System.Linq; -using MediaBrowser.Controller.Entities; -using MediaBrowser.Controller.Entities.TV; -using MediaBrowser.Model.Entities; -using MediaBrowser.Model.Logging; -using System; -using System.Collections.Generic; -using System.IO; -using System.Windows; -using System.Windows.Controls; -using System.Windows.Media; - -namespace MediaBrowser.ServerApplication.Controls -{ - /// <summary> - /// Interaction logic for ItemUpdateNotification.xaml - /// </summary> - public partial class ItemUpdateNotification : UserControl - { - /// <summary> - /// The logger - /// </summary> - private readonly ILogger Logger; - - /// <summary> - /// Gets the children changed event args. - /// </summary> - /// <value>The children changed event args.</value> - private BaseItem Item - { - get { return DataContext as BaseItem; } - } - - /// <summary> - /// Initializes a new instance of the <see cref="ItemUpdateNotification" /> class. - /// </summary> - public ItemUpdateNotification(ILogger logger) - { - if (logger == null) - { - throw new ArgumentNullException("logger"); - } - - Logger = logger; - - InitializeComponent(); - - Loaded += ItemUpdateNotification_Loaded; - } - - /// <summary> - /// Handles the Loaded event of the ItemUpdateNotification control. - /// </summary> - /// <param name="sender">The source of the event.</param> - /// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param> - void ItemUpdateNotification_Loaded(object sender, RoutedEventArgs e) - { - DisplayItem(Item); - } - - /// <summary> - /// Gets the display name. - /// </summary> - /// <param name="item">The item.</param> - /// <param name="includeParentName">if set to <c>true</c> [include parent name].</param> - /// <returns>System.String.</returns> - internal static string GetDisplayName(BaseItem item, bool includeParentName) - { - var name = item.Name; - - if (item.ProductionYear.HasValue && !(item is Episode)) - { - name += string.Format(" ({0})", item.ProductionYear); - } - - var episode = item as Episode; - if (episode != null) - { - var indexNumbers = new List<int>(); - - if (episode.Season.IndexNumber.HasValue) - { - indexNumbers.Add(episode.Season.IndexNumber.Value); - } - if (episode.IndexNumber.HasValue) - { - indexNumbers.Add(episode.IndexNumber.Value); - } - var indexNumber = string.Join(".", indexNumbers.ToArray()); - - name = string.Format("{0} - {1}", indexNumber, name); - - if (includeParentName) - { - name = episode.Series.Name + " - " + name; - } - } - - if (includeParentName) - { - var season = item as Season; - - if (season != null) - { - name = season.Series.Name + " - " + name; - } - } - - return name; - } - - /// <summary> - /// Displays the parent title. - /// </summary> - /// <param name="item">The item.</param> - private void DisplayParentTitle(BaseItem item) - { - if (!(item is Episode || item is Season)) - { - txtParentName.Visibility = Visibility.Collapsed; - imgParentLogo.Visibility = Visibility.Collapsed; - return; - } - - var series = item is Episode ? (item as Episode).Series : (item as Season).Series; - - var logo = series.GetImage(ImageType.Logo); - - if (string.IsNullOrEmpty(logo)) - { - imgParentLogo.Visibility = Visibility.Collapsed; - txtParentName.Visibility = Visibility.Visible; - } - else - { - imgParentLogo.Visibility = Visibility.Visible; - txtParentName.Visibility = Visibility.Collapsed; - imgParentLogo.Source = App.Instance.GetBitmapImage(logo); - } - - txtParentName.Text = series.Name; - } - - /// <summary> - /// Displays the title. - /// </summary> - /// <param name="item">The item.</param> - private void DisplayTitle(BaseItem item) - { - txtName.Text = GetDisplayName(item, false); - } - - /// <summary> - /// Displays the item. - /// </summary> - /// <param name="item">The item.</param> - private void DisplayItem(BaseItem item) - { - DisplayParentTitle(item); - DisplayTitle(item); - DisplayRating(item); - - var path = GetImagePath(item); - - if (string.IsNullOrEmpty(path)) - { - img.Visibility = Visibility.Collapsed; - } - else - { - img.Visibility = Visibility.Visible; - - try - { - img.Source = App.Instance.GetBitmapImage(path); - } - catch (FileNotFoundException) - { - Logger.Error("Image file not found {0}", path); - } - } - - if (string.IsNullOrEmpty(item.Overview)) - { - txtOverview.Visibility = Visibility.Collapsed; - } - else - { - txtOverview.Visibility = Visibility.Visible; - txtOverview.Text = item.Overview; - } - - if (item.Taglines == null || item.Taglines.Count == 0) - { - txtTagline.Visibility = Visibility.Collapsed; - } - else - { - txtTagline.Visibility = Visibility.Visible; - txtTagline.Text = item.Taglines[0]; - } - - if (!item.PremiereDate.HasValue) - { - txtPremeireDate.Visibility = Visibility.Collapsed; - } - else - { - txtPremeireDate.Visibility = Visibility.Visible; - txtPremeireDate.Text = "Premiered " + item.PremiereDate.Value.ToLocalTime().ToShortDateString(); - } - } - - /// <summary> - /// Gets the image path. - /// </summary> - /// <param name="item">The item.</param> - /// <returns>System.String.</returns> - internal static string GetImagePath(BaseItem item) - { - // Try our best to find an image - var path = item.PrimaryImagePath; - - if (string.IsNullOrEmpty(path) && item.BackdropImagePaths != null) - { - path = item.BackdropImagePaths.FirstOrDefault(); - } - - if (string.IsNullOrEmpty(path)) - { - path = item.GetImage(ImageType.Thumb); - } - - if (string.IsNullOrEmpty(path)) - { - path = item.GetImage(ImageType.Art); - } - - if (string.IsNullOrEmpty(path)) - { - path = item.GetImage(ImageType.Logo); - } - - if (string.IsNullOrEmpty(path)) - { - path = item.GetImage(ImageType.Disc); - } - - return path; - } - - /// <summary> - /// Displays the rating. - /// </summary> - /// <param name="item">The item.</param> - private void DisplayRating(BaseItem item) - { - if (!item.CommunityRating.HasValue) - { - pnlRating.Visibility = Visibility.Collapsed; - return; - } - - pnlRating.Children.Clear(); - pnlRating.Visibility = Visibility.Visible; - - var rating = item.CommunityRating.Value; - - for (var i = 0; i < 10; i++) - { - Image image; - if (rating < i - 1) - { - image = App.Instance.GetImage(new Uri("../Resources/Images/starEmpty.png", UriKind.Relative)); - } - else if (rating < i) - { - image = App.Instance.GetImage(new Uri("../Resources/Images/starHalf.png", UriKind.Relative)); - } - else - { - image = App.Instance.GetImage(new Uri("../Resources/Images/starFull.png", UriKind.Relative)); - } - - RenderOptions.SetBitmapScalingMode(image, BitmapScalingMode.Fant); - - image.Stretch = Stretch.Uniform; - image.Height = 16; - - pnlRating.Children.Add(image); - } - } - } -} |
