mirror of
				https://github.com/jellyfin/jellyfin.git
				synced 2025-11-04 03:27:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
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<double> _progress;
 | 
						|
 | 
						|
        public SplashForm(Version version, Progress<double> 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);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |