From 9f1005d679cb9afe0c98c3f1ee73573a5e64c58d Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Mon, 17 Sep 2012 16:21:46 -0400 Subject: Added Reload Beginning/Completed events --- MediaBrowser.ServerApplication/MainWindow.xaml.cs | 40 +++++++++++++++-------- 1 file changed, 27 insertions(+), 13 deletions(-) (limited to 'MediaBrowser.ServerApplication') diff --git a/MediaBrowser.ServerApplication/MainWindow.xaml.cs b/MediaBrowser.ServerApplication/MainWindow.xaml.cs index 3839dc52e2..6180482d7e 100644 --- a/MediaBrowser.ServerApplication/MainWindow.xaml.cs +++ b/MediaBrowser.ServerApplication/MainWindow.xaml.cs @@ -1,4 +1,7 @@ using Hardcodet.Wpf.TaskbarNotification; +using MediaBrowser.Common.Events; +using MediaBrowser.Controller; +using MediaBrowser.Model.Progress; using System; using System.ComponentModel; using System.Threading; @@ -11,15 +14,36 @@ namespace MediaBrowser.ServerApplication /// public partial class MainWindow : Window, INotifyPropertyChanged { + private Timer LoadingIconTimer { get; set; } + public MainWindow() { InitializeComponent(); - Loaded += MainWindow_Loaded; + Loaded += MainWindowLoaded; } - void MainWindow_Loaded(object sender, RoutedEventArgs e) + void MainWindowLoaded(object sender, RoutedEventArgs e) { DataContext = this; + + Kernel.Instance.ReloadBeginning += KernelReloadBeginning; + Kernel.Instance.ReloadCompleted += KernelReloadCompleted; + } + + void KernelReloadBeginning(object sender, GenericEventArgs> e) + { + MbTaskbarIcon.ShowBalloonTip("Media Browser is reloading", "Please wait...", BalloonIcon.Info); + + LoadingImageIndex = 0; + + LoadingIconTimer = new Timer(LoadingIconTimerCallback, null, 0, 250); + } + + void KernelReloadCompleted(object sender, GenericEventArgs> e) + { + LoadingIconTimer.Dispose(); + + LoadingImageIndex = 0; } public event PropertyChangedEventHandler PropertyChanged; @@ -62,17 +86,7 @@ namespace MediaBrowser.ServerApplication private async void cmdReloadServer_click(object sender, RoutedEventArgs e) { - MbTaskbarIcon.ShowBalloonTip("Media Browser is reloading", "Please wait...", BalloonIcon.Info); - - LoadingImageIndex = 0; - - Timer timer = new Timer(LoadingIconTimerCallback, null, 0, 250); - - await (Application.Current as App).ReloadKernel().ConfigureAwait(false); - - timer.Dispose(); - - LoadingImageIndex = 0; + await Kernel.Instance.Reload(new Progress()).ConfigureAwait(false); } private void LoadingIconTimerCallback(object stateInfo) -- cgit v1.2.3