diff options
Diffstat (limited to 'MediaBrowser.ServerApplication/Controls')
3 files changed, 41 insertions, 190 deletions
diff --git a/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs b/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs index 1f224f24d..30e39f6b0 100644 --- a/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs +++ b/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller.Entities; +using System.Linq; +using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.TV; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Logging; @@ -159,7 +160,7 @@ namespace MediaBrowser.ServerApplication.Controls DisplayTitle(item); DisplayRating(item); - var path = MultiItemUpdateNotification.GetImagePath(item); + var path = GetImagePath(item); if (string.IsNullOrEmpty(path)) { @@ -211,6 +212,44 @@ namespace MediaBrowser.ServerApplication.Controls } /// <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> diff --git a/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml b/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml deleted file mode 100644 index 5d3fb785c..000000000 --- a/MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml +++ /dev/null @@ -1,37 +0,0 @@ -<UserControl x:Class="MediaBrowser.ServerApplication.Controls.MultiItemUpdateNotification" - xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" - xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" - xmlns:d="http://schemas.microsoft.com/expression/blend/2008" - mc:Ignorable="d" - d:DesignHeight="300" d:DesignWidth="300"> - - <Grid MaxHeight="400" MaxWidth="600" Margin="20"> - <Border BorderThickness="0" Background="#333333"> - <Border.Effect> - <DropShadowEffect BlurRadius="25" ShadowDepth="0"> - - </DropShadowEffect> - </Border.Effect> - </Border> - <Grid> - <Grid.Background> - <LinearGradientBrush SpreadMethod="Reflect" ColorInterpolationMode="SRgbLinearInterpolation" StartPoint="0,0" EndPoint="0,1" > - <GradientStop Color="#ff222222" Offset="0" /> - <GradientStop Color="#ffbbbbbb" Offset="1" /> - </LinearGradientBrush> - </Grid.Background> - - <Grid Margin="20"> - <Grid.RowDefinitions> - <RowDefinition Height="auto"></RowDefinition> - <RowDefinition Height="*"></RowDefinition> - </Grid.RowDefinitions> - - <TextBlock x:Name="header" FontSize="26" Foreground="White" Grid.Row="0"></TextBlock> - - <UniformGrid x:Name="itemsPanel" Columns="4" Margin="0 20 0 0" Grid.Row="1"></UniformGrid> - </Grid> - </Grid> - </Grid> -</UserControl> 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; - } - } -} |
