From f26a3e3c615474eb9f64f005448bb8ce4b08e13f Mon Sep 17 00:00:00 2001 From: LukePulverenti Date: Sun, 3 Mar 2013 00:20:14 -0500 Subject: created entry point classes for the startup wizard and new item notifications --- MediaBrowser.ServerApplication/MainWindow.xaml.cs | 120 +--------------------- 1 file changed, 1 insertion(+), 119 deletions(-) (limited to 'MediaBrowser.ServerApplication/MainWindow.xaml.cs') diff --git a/MediaBrowser.ServerApplication/MainWindow.xaml.cs b/MediaBrowser.ServerApplication/MainWindow.xaml.cs index 4904eb0f7..0d0d2d54b 100644 --- a/MediaBrowser.ServerApplication/MainWindow.xaml.cs +++ b/MediaBrowser.ServerApplication/MainWindow.xaml.cs @@ -1,19 +1,13 @@ using MediaBrowser.Common.Kernel; using MediaBrowser.Controller; -using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Logging; -using MediaBrowser.Model.Serialization; -using MediaBrowser.ServerApplication.Controls; using MediaBrowser.ServerApplication.Logging; using System; -using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Linq; -using System.Threading; using System.Windows; -using System.Windows.Controls.Primitives; using System.Windows.Threading; namespace MediaBrowser.ServerApplication @@ -23,23 +17,6 @@ namespace MediaBrowser.ServerApplication /// public partial class MainWindow : Window, INotifyPropertyChanged { - /// - /// Holds the list of new items to display when the NewItemTimer expires - /// - private readonly List _newlyAddedItems = new List(); - - /// - /// The amount of time to wait before showing a new item notification - /// This allows us to group items together into one notification - /// - private const int NewItemDelay = 60000; - - /// - /// The current new item timer - /// - /// The new item timer. - private Timer NewItemTimer { get; set; } - /// /// The _logger /// @@ -54,8 +31,6 @@ namespace MediaBrowser.ServerApplication /// The _log manager /// private readonly ILogManager _logManager; - - private readonly ILibraryManager _libraryManager; /// /// Initializes a new instance of the class. @@ -64,7 +39,7 @@ namespace MediaBrowser.ServerApplication /// The logger. /// The app host. /// logger - public MainWindow(ILogManager logManager, IApplicationHost appHost, ILibraryManager libraryManager) + public MainWindow(ILogManager logManager, IApplicationHost appHost) { if (logManager == null) { @@ -74,7 +49,6 @@ namespace MediaBrowser.ServerApplication _logger = logManager.GetLogger("MainWindow"); _appHost = appHost; _logManager = logManager; - _libraryManager = libraryManager; InitializeComponent(); @@ -92,7 +66,6 @@ namespace MediaBrowser.ServerApplication Instance_ConfigurationUpdated(null, EventArgs.Empty); - Kernel.Instance.ReloadCompleted += KernelReloadCompleted; _logManager.LoggerLoaded += LoadLogWindow; Kernel.Instance.ConfigurationUpdated += Instance_ConfigurationUpdated; } @@ -123,71 +96,6 @@ namespace MediaBrowser.ServerApplication }); } - /// - /// Handles the LibraryChanged event of the Instance control. - /// - /// The source of the event. - /// The instance containing the event data. - void Instance_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); - } - } - } - } - - /// - /// Called when the new item timer expires - /// - /// The state. - private void NewItemTimerCallback(object state) - { - List 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 == 1) - { - Dispatcher.InvokeAsync(() => MbTaskbarIcon.ShowCustomBalloon(new ItemUpdateNotification(_logger) - { - DataContext = newItems[0] - - }, PopupAnimation.Slide, 6000)); - } - else if (newItems.Count > 1) - { - Dispatcher.InvokeAsync(() => MbTaskbarIcon.ShowCustomBalloon(new MultiItemUpdateNotification(_logger) - { - DataContext = newItems - - }, PopupAnimation.Slide, 6000)); - } - } - /// /// Loads the log window. /// @@ -227,32 +135,6 @@ namespace MediaBrowser.ServerApplication }); } - /// - /// Kernels the reload completed. - /// - /// The sender. - /// The e. - void KernelReloadCompleted(object sender, EventArgs e) - { - _libraryManager.LibraryChanged -= Instance_LibraryChanged; - _libraryManager.LibraryChanged += Instance_LibraryChanged; - - if (_appHost.IsFirstRun) - { - LaunchStartupWizard(); - } - } - - /// - /// Launches the startup wizard. - /// - private void LaunchStartupWizard() - { - var user = _appHost.Resolve().Users.FirstOrDefault(u => u.Configuration.IsAdministrator); - - App.OpenDashboardPage("wizardStart.html", user); - } - /// /// Handles the Click event of the cmdApiDocs control. /// -- cgit v1.2.3