From 30d6e2cd6ce0702faaec73b7ffb59d9844fb6967 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 Apr 2013 11:10:12 -0400 Subject: made library scan a bit more conservative --- .../Controls/ItemUpdateNotification.xaml.cs | 43 +++++- .../Controls/MultiItemUpdateNotification.xaml | 37 ----- .../Controls/MultiItemUpdateNotification.xaml.cs | 151 --------------------- .../EntryPoints/NewItemNotifier.cs | 15 +- .../MediaBrowser.ServerApplication.csproj | 7 - 5 files changed, 42 insertions(+), 211 deletions(-) delete mode 100644 MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml delete mode 100644 MediaBrowser.ServerApplication/Controls/MultiItemUpdateNotification.xaml.cs (limited to 'MediaBrowser.ServerApplication') 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)) { @@ -210,6 +211,44 @@ namespace MediaBrowser.ServerApplication.Controls } } + /// + /// Gets the image path. + /// + /// The item. + /// System.String. + 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; + } + /// /// Displays the rating. /// 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 -{ - /// - /// Interaction logic for MultiItemUpdateNotification.xaml - /// - public partial class MultiItemUpdateNotification : UserControl - { - /// - /// The logger - /// - private readonly ILogger Logger; - - /// - /// Gets the children changed event args. - /// - /// The children changed event args. - private List Items - { - get { return DataContext as List; } - } - - /// - /// Initializes a new instance of the class. - /// - public MultiItemUpdateNotification(ILogger logger) - { - if (logger == null) - { - throw new ArgumentNullException("logger"); - } - - Logger = logger; - - InitializeComponent(); - - Loaded += MultiItemUpdateNotification_Loaded; - } - - /// - /// Handles the Loaded event of the MultiItemUpdateNotification control. - /// - /// The source of the event. - /// The instance containing the event data. - void MultiItemUpdateNotification_Loaded(object sender, RoutedEventArgs e) - { - header.Text = string.Format("{0} New Items!", Items.Count); - - PopulateItems(); - } - - /// - /// Populates the items. - /// - 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++; - } - } - - - - /// - /// Gets the image path. - /// - /// The item. - /// System.String. - 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; - } - } -} diff --git a/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs b/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs index 4a1f0ac74..ae898f0f9 100644 --- a/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs +++ b/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs @@ -109,7 +109,7 @@ namespace MediaBrowser.ServerApplication.EntryPoints } // Show the notification - if (newItems.Count == 1) + if (newItems.Count > 0) { Application.Current.Dispatcher.InvokeAsync(() => { @@ -122,19 +122,6 @@ namespace MediaBrowser.ServerApplication.EntryPoints }, PopupAnimation.Slide, 6000)); }); } - else if (newItems.Count > 1) - { - Application.Current.Dispatcher.InvokeAsync(() => - { - var window = (MainWindow)Application.Current.MainWindow; - - window.Dispatcher.InvokeAsync(() => window.MbTaskbarIcon.ShowCustomBalloon(new MultiItemUpdateNotification(_logger) - { - DataContext = newItems - - }, PopupAnimation.Slide, 6000)); - }); - } } /// diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj index dedc90fe5..38ece1cdb 100644 --- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj +++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj @@ -194,10 +194,6 @@ Designer MSBuild:Compile - - Designer - MSBuild:Compile - Designer MSBuild:Compile @@ -221,9 +217,6 @@ ItemUpdateNotification.xaml - - MultiItemUpdateNotification.xaml - LibraryExplorer.xaml -- cgit v1.2.3