aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs')
-rw-r--r--MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs151
1 files changed, 0 insertions, 151 deletions
diff --git a/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs b/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs
deleted file mode 100644
index 9d58c0227..000000000
--- a/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs
+++ /dev/null
@@ -1,151 +0,0 @@
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Model.Entities;
-using MediaBrowser.Model.Logging;
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-using System.Windows;
-using System.Windows.Controls;
-using System.Windows.Media;
-
-namespace MediaBrowser.ServerApplication.Controls
-{
- /// <summary>
- /// Interaction logic for MultiItemUpdateNotification.xaml
- /// </summary>
- public partial class MultiItemUpdateNotification : 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 List<BaseItem> Items
- {
- get { return DataContext as List<BaseItem>; }
- }
-
- /// <summary>
- /// Initializes a new instance of the <see cref="MultiItemUpdateNotification" /> class.
- /// </summary>
- public MultiItemUpdateNotification(ILogger logger)
- {
- if (logger == null)
- {
- throw new ArgumentNullException("logger");
- }
-
- Logger = logger;
-
- InitializeComponent();
-
- Loaded += MultiItemUpdateNotification_Loaded;
- }
-
- /// <summary>
- /// Handles the Loaded event of the MultiItemUpdateNotification 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 MultiItemUpdateNotification_Loaded(object sender, RoutedEventArgs e)
- {
- header.Text = string.Format("{0} New Items!", Items.Count);
-
- PopulateItems();
- }
-
- /// <summary>
- /// Populates the items.
- /// </summary>
- private void PopulateItems()
- {
- itemsPanel.Children.Clear();
-
- var items = Items;
-
- const int maxItemsToDisplay = 8;
- var index = 0;
-
- foreach (var item in items)
- {
- if (index >= maxItemsToDisplay)
- {
- break;
- }
-
- // Try our best to find an image
- var path = GetImagePath(item);
-
- if (string.IsNullOrEmpty(path))
- {
- continue;
- }
-
- Image img;
-
- try
- {
- img = App.Instance.GetImage(path);
- }
- catch (FileNotFoundException)
- {
- Logger.Error("Image file not found {0}", path);
- continue;
- }
-
- img.Stretch = Stretch.Uniform;
- img.Margin = new Thickness(0, 0, 5, 5);
- img.ToolTip = ItemUpdateNotification.GetDisplayName(item, true);
- RenderOptions.SetBitmapScalingMode(img, BitmapScalingMode.Fant);
- itemsPanel.Children.Add(img);
-
- index++;
- }
- }
-
-
-
- /// <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;
- }
- }
-}