aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.ServerApplication/Splash/SplashWindow.xaml.cs
blob: 29eb4bf45c13f2a34a03958237acfc5f14e4b888 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.ComponentModel;
using System.Windows;

namespace MediaBrowser.ServerApplication.Splash
{
    /// <summary>
    /// Interaction logic for SplashWindow.xaml
    /// </summary>
    public partial class SplashWindow : Window
    {
        private readonly Progress<double> _progress;

        public SplashWindow(Version version, Progress<double> progress)
        {
            InitializeComponent();
            lblStatus.Text = string.Format("Loading Media Browser Server\nVersion {0}...", version);

            _progress = progress;

            progress.ProgressChanged += progress_ProgressChanged;
        }

        void progress_ProgressChanged(object sender, double e)
        {
            Dispatcher.InvokeAsync(() =>
            {
                var width = e * 6.62;

                RectProgress.Width = width;
            });
        }

        protected override void OnClosing(CancelEventArgs e)
        {
            _progress.ProgressChanged += progress_ProgressChanged;

            base.OnClosing(e);
        }
    }
}