From bf1c36ba613c5b62a43fb2f56590e1337945ed6a Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 15 Feb 2014 13:08:25 -0500 Subject: convert splash window to win forms --- .../Splash/SplashForm.cs | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 MediaBrowser.ServerApplication/Splash/SplashForm.cs (limited to 'MediaBrowser.ServerApplication/Splash/SplashForm.cs') diff --git a/MediaBrowser.ServerApplication/Splash/SplashForm.cs b/MediaBrowser.ServerApplication/Splash/SplashForm.cs new file mode 100644 index 000000000..1260c3405 --- /dev/null +++ b/MediaBrowser.ServerApplication/Splash/SplashForm.cs @@ -0,0 +1,45 @@ +using System; +using System.ComponentModel; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace MediaBrowser.ServerApplication.Splash +{ + public partial class SplashForm : Form + { + private readonly TaskScheduler _uiThread; + + private readonly Progress _progress; + + public SplashForm(Version version, Progress progress) + { + InitializeComponent(); + + lblVersion.Text = string.Format("Version {0}...", version); + + _progress = progress; + + progress.ProgressChanged += progress_ProgressChanged; + _uiThread = TaskScheduler.FromCurrentSynchronizationContext(); + } + + async void progress_ProgressChanged(object sender, double e) + { + await Task.Factory.StartNew(() => + { + var width = e * 6.48; + + panelProgress.Width = Convert.ToInt32(width); + + }, CancellationToken.None, TaskCreationOptions.None, _uiThread); + } + + protected override void OnClosing(CancelEventArgs e) + { + _progress.ProgressChanged += progress_ProgressChanged; + + base.OnClosing(e); + } + } +} -- cgit v1.2.3