aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication
diff options
context:
space:
mode:
authorTechywarrior <techywarrior@gmail.com>2013-05-02 21:39:34 -0700
committerTechywarrior <techywarrior@gmail.com>2013-05-02 21:39:34 -0700
commit8095f7200b1bd79bc30572a3ebde03f34a6b9e01 (patch)
tree42d664de774dc7744fc133be3f3a646e3db056eb /MediaBrowser.ServerApplication
parentf58c26afaa94b812c06004145999336bb77e4629 (diff)
parent9fdf5d1c4b488fe53e557870cacdf02b1b7fd4a2 (diff)
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.ServerApplication')
-rw-r--r--MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml63
-rw-r--r--MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs294
-rw-r--r--MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs135
-rw-r--r--MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs95
-rw-r--r--MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj8
5 files changed, 83 insertions, 512 deletions
diff --git a/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml b/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml
deleted file mode 100644
index 22a3ea696c..0000000000
--- a/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml
+++ /dev/null
@@ -1,63 +0,0 @@
-<UserControl x:Class="MediaBrowser.ServerApplication.Controls.ItemUpdateNotification"
- 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="280" 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.0" />
- </LinearGradientBrush>
- </Grid.Background>
-
- <Grid Margin="20">
- <Grid.RowDefinitions>
- <RowDefinition Height="auto"></RowDefinition>
- <RowDefinition Height="*"></RowDefinition>
- </Grid.RowDefinitions>
-
- <StackPanel Orientation="Vertical" Grid.Row="0">
- <Image x:Name="imgParentLogo" Stretch="Uniform" Height="40" RenderOptions.BitmapScalingMode="Fant" HorizontalAlignment="Left"></Image>
- <TextBlock x:Name="txtParentName" FontSize="26" Foreground="White"></TextBlock>
- <TextBlock x:Name="txtName" FontSize="26" Foreground="White"></TextBlock>
- </StackPanel>
-
- <Grid Grid.Row="1" Margin="0 20 0 0">
-
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="auto"></ColumnDefinition>
- <ColumnDefinition Width="*"></ColumnDefinition>
- </Grid.ColumnDefinitions>
-
- <Grid.RowDefinitions>
- <RowDefinition Height="auto"></RowDefinition>
- <RowDefinition Height="auto"></RowDefinition>
- <RowDefinition Height="*"></RowDefinition>
- <RowDefinition Height="auto"></RowDefinition>
- </Grid.RowDefinitions>
-
- <StackPanel Orientation="Vertical" Grid.Column="0" Grid.RowSpan="4" Margin="0 0 20 0" VerticalAlignment="Top">
- <Image x:Name="img" Stretch="Uniform" RenderOptions.BitmapScalingMode="Fant" Height="150"></Image>
- </StackPanel>
-
- <TextBlock x:Name="txtTagline" Foreground="White" Grid.Column="1" Grid.Row="0" Margin="0 0 0 20" TextWrapping="Wrap" FontStyle="Italic"></TextBlock>
- <StackPanel x:Name="pnlRating" Orientation="Horizontal" Margin="0 2 0 20" Grid.Column="1" Grid.Row="1"></StackPanel>
- <TextBlock x:Name="txtOverview" Foreground="White" Grid.Column="1" Grid.Row="2" TextWrapping="Wrap" Margin="0 0 0 20"></TextBlock>
- <TextBlock x:Name="txtPremeireDate" Foreground="White" Grid.Column="1" Grid.Row="3"></TextBlock>
- </Grid>
- </Grid>
- </Grid>
- </Grid>
-</UserControl>
diff --git a/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs b/MediaBrowser.ServerApplication/Controls/ItemUpdateNotification.xaml.cs
deleted file mode 100644
index 30e39f6b02..0000000000
--- 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);
- }
- }
- }
-}
diff --git a/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs b/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs
deleted file mode 100644
index da39520c9a..0000000000
--- a/MediaBrowser.ServerApplication/EntryPoints/NewItemNotifier.cs
+++ /dev/null
@@ -1,135 +0,0 @@
-using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.Library;
-using MediaBrowser.Controller.Plugins;
-using MediaBrowser.Model.Logging;
-using MediaBrowser.ServerApplication.Controls;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading;
-using System.Windows;
-using System.Windows.Controls.Primitives;
-
-namespace MediaBrowser.ServerApplication.EntryPoints
-{
- /// <summary>
- /// Class NewItemNotifier
- /// </summary>
- public class NewItemNotifier
- {
- /// <summary>
- /// Holds the list of new items to display when the NewItemTimer expires
- /// </summary>
- private readonly List<BaseItem> _newlyAddedItems = new List<BaseItem>();
-
- /// <summary>
- /// The amount of time to wait before showing a new item notification
- /// This allows us to group items together into one notification
- /// </summary>
- private const int NewItemDelay = 60000;
-
- /// <summary>
- /// The current new item timer
- /// </summary>
- /// <value>The new item timer.</value>
- private Timer NewItemTimer { get; set; }
-
- /// <summary>
- /// The _library manager
- /// </summary>
- private readonly ILibraryManager _libraryManager;
-
- /// <summary>
- /// The _logger
- /// </summary>
- private readonly ILogger _logger;
-
- /// <summary>
- /// Initializes a new instance of the <see cref="NewItemNotifier" /> class.
- /// </summary>
- /// <param name="libraryManager">The library manager.</param>
- /// <param name="logManager">The log manager.</param>
- public NewItemNotifier(ILibraryManager libraryManager, ILogManager logManager)
- {
- _logger = logManager.GetLogger("NewItemNotifier");
- _libraryManager = libraryManager;
- }
-
- /// <summary>
- /// Runs this instance.
- /// </summary>
- public void Run()
- {
- _libraryManager.LibraryChanged += libraryManager_LibraryChanged;
- }
-
- /// <summary>
- /// Handles the LibraryChanged event of the libraryManager control.
- /// </summary>
- /// <param name="sender">The source of the event.</param>
- /// <param name="e">The <see cref="ChildrenChangedEventArgs" /> instance containing the event data.</param>
- void libraryManager_LibraryChanged(object sender, ChildrenChangedEventArgs e)
- {
- var newItems = e.ItemsAdded.Where(i => !i.IsFolder).ToList();
-
- // Use a timer to prevent lots of these notifications from showing in a short period of time
- if (newItems.Count > 0)
- {
- lock (_newlyAddedItems)
- {
- _newlyAddedItems.AddRange(newItems);
-
- if (NewItemTimer == null)
- {
- NewItemTimer = new Timer(NewItemTimerCallback, null, NewItemDelay, Timeout.Infinite);
- }
- else
- {
- NewItemTimer.Change(NewItemDelay, Timeout.Infinite);
- }
- }
- }
- }
-
- /// <summary>
- /// Called when the new item timer expires
- /// </summary>
- /// <param name="state">The state.</param>
- private void NewItemTimerCallback(object state)
- {
- List<BaseItem> newItems;
-
- // Lock the list and release all resources
- lock (_newlyAddedItems)
- {
- newItems = _newlyAddedItems.ToList();
- _newlyAddedItems.Clear();
-
- NewItemTimer.Dispose();
- NewItemTimer = null;
- }
-
- // Show the notification
- if (newItems.Count > 0)
- {
- Application.Current.Dispatcher.InvokeAsync(() =>
- {
- var window = Application.Current.Windows.OfType<MainWindow>().First();
-
- window.Dispatcher.InvokeAsync(() => window.MbTaskbarIcon.ShowCustomBalloon(new ItemUpdateNotification(_logger)
- {
- DataContext = newItems[0]
-
- }, PopupAnimation.Slide, 6000));
- });
- }
- }
-
- /// <summary>
- /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- /// </summary>
- public void Dispose()
- {
- _libraryManager.LibraryChanged -= libraryManager_LibraryChanged;
- }
- }
-}
diff --git a/MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs b/MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs
index a6d505d198..e80c5cc1c9 100644
--- a/MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs
+++ b/MediaBrowser.ServerApplication/EntryPoints/WebSocketEvents.cs
@@ -101,10 +101,12 @@ namespace MediaBrowser.ServerApplication.EntryPoints
_userManager.UserDeleted += userManager_UserDeleted;
_userManager.UserUpdated += userManager_UserUpdated;
- _libraryManager.LibraryChanged += libraryManager_LibraryChanged;
-
_appHost.HasPendingRestartChanged += kernel_HasPendingRestartChanged;
+ _libraryManager.ItemAdded += libraryManager_ItemAdded;
+ _libraryManager.ItemUpdated += libraryManager_ItemUpdated;
+ _libraryManager.ItemRemoved += libraryManager_ItemRemoved;
+
_installationManager.PluginUninstalled += InstallationManager_PluginUninstalled;
_installationManager.PackageInstalling += installationManager_PackageInstalling;
_installationManager.PackageInstallationCancelled += installationManager_PackageInstallationCancelled;
@@ -122,7 +124,7 @@ namespace MediaBrowser.ServerApplication.EntryPoints
void _taskManager_TaskExecuting(object sender, EventArgs e)
{
- var task = (IScheduledTask) sender;
+ var task = (IScheduledTask)sender;
_serverManager.SendWebSocketMessage("ScheduledTaskStarted", task.Name);
}
@@ -167,11 +169,77 @@ namespace MediaBrowser.ServerApplication.EntryPoints
}
/// <summary>
- /// Handles the LibraryChanged event of the libraryManager control.
+ /// Handles the ItemAdded event of the libraryManager control.
+ /// </summary>
+ /// <param name="sender">The source of the event.</param>
+ /// <param name="e">The <see cref="ItemChangeEventArgs"/> instance containing the event data.</param>
+ void libraryManager_ItemAdded(object sender, ItemChangeEventArgs e)
+ {
+ lock (_libraryChangedSyncLock)
+ {
+ if (LibraryUpdateInfo == null)
+ {
+ LibraryUpdateInfo = new LibraryUpdateInfo();
+ }
+
+ if (LibraryUpdateTimer == null)
+ {
+ LibraryUpdateTimer = new Timer(LibraryUpdateTimerCallback, null, LibraryUpdateDuration,
+ Timeout.Infinite);
+ }
+ else
+ {
+ LibraryUpdateTimer.Change(LibraryUpdateDuration, Timeout.Infinite);
+ }
+
+ if (e.Item.Parent != null)
+ {
+ LibraryUpdateInfo.Folders.Add(e.Item.Parent.Id);
+ }
+
+ LibraryUpdateInfo.ItemsAdded.Add(e.Item.Id);
+ }
+ }
+
+ /// <summary>
+ /// Handles the ItemUpdated event of the libraryManager control.
+ /// </summary>
+ /// <param name="sender">The source of the event.</param>
+ /// <param name="e">The <see cref="ItemChangeEventArgs"/> instance containing the event data.</param>
+ void libraryManager_ItemUpdated(object sender, ItemChangeEventArgs e)
+ {
+ lock (_libraryChangedSyncLock)
+ {
+ if (LibraryUpdateInfo == null)
+ {
+ LibraryUpdateInfo = new LibraryUpdateInfo();
+ }
+
+ if (LibraryUpdateTimer == null)
+ {
+ LibraryUpdateTimer = new Timer(LibraryUpdateTimerCallback, null, LibraryUpdateDuration,
+ Timeout.Infinite);
+ }
+ else
+ {
+ LibraryUpdateTimer.Change(LibraryUpdateDuration, Timeout.Infinite);
+ }
+
+ if (e.Item.Parent != null)
+ {
+ LibraryUpdateInfo.Folders.Add(e.Item.Parent.Id);
+ }
+
+ LibraryUpdateInfo.ItemsUpdated.Add(e.Item.Id);
+ }
+ }
+
+ /// <summary>
+ /// Handles the ItemRemoved event of the libraryManager control.
/// </summary>
/// <param name="sender">The source of the event.</param>
- /// <param name="e">The <see cref="ChildrenChangedEventArgs" /> instance containing the event data.</param>
- void libraryManager_LibraryChanged(object sender, ChildrenChangedEventArgs e)
+ /// <param name="e">The <see cref="ItemChangeEventArgs"/> instance containing the event data.</param>
+ void libraryManager_ItemRemoved(object sender, ItemChangeEventArgs e)
{
lock (_libraryChangedSyncLock)
{
@@ -190,11 +258,12 @@ namespace MediaBrowser.ServerApplication.EntryPoints
LibraryUpdateTimer.Change(LibraryUpdateDuration, Timeout.Infinite);
}
- LibraryUpdateInfo.Folders.Add(e.Folder.Id);
+ if (e.Item.Parent != null)
+ {
+ LibraryUpdateInfo.Folders.Add(e.Item.Parent.Id);
+ }
- LibraryUpdateInfo.ItemsAdded.AddRange(e.ItemsAdded.Select(i => i.Id));
- LibraryUpdateInfo.ItemsUpdated.AddRange(e.ItemsUpdated.Select(i => i.Id));
- LibraryUpdateInfo.ItemsRemoved.AddRange(e.ItemsRemoved.Select(i => i.Id));
+ LibraryUpdateInfo.ItemsRemoved.Add(e.Item.Id);
}
}
@@ -281,12 +350,14 @@ namespace MediaBrowser.ServerApplication.EntryPoints
LibraryUpdateTimer.Dispose();
LibraryUpdateTimer = null;
}
+
+ _libraryManager.ItemAdded -= libraryManager_ItemAdded;
+ _libraryManager.ItemUpdated -= libraryManager_ItemUpdated;
+ _libraryManager.ItemRemoved -= libraryManager_ItemRemoved;
_userManager.UserDeleted -= userManager_UserDeleted;
_userManager.UserUpdated -= userManager_UserUpdated;
- _libraryManager.LibraryChanged -= libraryManager_LibraryChanged;
-
_installationManager.PluginUninstalled -= InstallationManager_PluginUninstalled;
_installationManager.PackageInstalling -= installationManager_PackageInstalling;
_installationManager.PackageInstallationCancelled -= installationManager_PackageInstallationCancelled;
diff --git a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
index 7fd8463a85..7199b5dd24 100644
--- a/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
+++ b/MediaBrowser.ServerApplication/MediaBrowser.ServerApplication.csproj
@@ -170,7 +170,6 @@
</ItemGroup>
<ItemGroup>
<Compile Include="EntryPoints\LoadRegistrations.cs" />
- <Compile Include="EntryPoints\NewItemNotifier.cs" />
<Compile Include="EntryPoints\RefreshUsersMetadata.cs" />
<Compile Include="EntryPoints\StartupWizard.cs" />
<Compile Include="EntryPoints\WebSocketEvents.cs" />
@@ -181,10 +180,6 @@
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
- <Page Include="Controls\ItemUpdateNotification.xaml">
- <SubType>Designer</SubType>
- <Generator>MSBuild:Compile</Generator>
- </Page>
<Page Include="LibraryExplorer.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
@@ -205,9 +200,6 @@
<SubType>Code</SubType>
</Compile>
<Compile Include="ApplicationHost.cs" />
- <Compile Include="Controls\ItemUpdateNotification.xaml.cs">
- <DependentUpon>ItemUpdateNotification.xaml</DependentUpon>
- </Compile>
<Compile Include="Implementations\DotNetZipClient.cs" />
<Compile Include="LibraryExplorer.xaml.cs">
<DependentUpon>LibraryExplorer.xaml</DependentUpon>