| using System; | |
| using System.Collections.Generic; | |
| using System.ComponentModel; | |
| using System.Drawing; | |
| using System.Data; | |
| using System.Text; | |
| using System.Windows.Forms; | |
| using System.IO; | |
| using System.Diagnostics; | |
| using System.Net; | |
| namespace MovieTube.Viewer | |
| { | |
| public partial class DownloadWidget : UserControl | |
| { | |
| private DownloadInfo di; | |
| public DownloadWidget() | |
| { | |
| InitializeComponent(); | |
| } | |
| public DownloadWidget(DownloadInfo di) | |
| :this() | |
| { | |
| this.di = di; | |
| this.labelName.Text = String.Format("{0} ({1}) - {2}", | |
| di.Link.Parent.Name, | |
| di.Link.Parent.LanguageText, | |
| di.Link.Provider.ID); | |
| } | |
| public void UpdateStatus(DownloadProgressChangedEventArgs e) | |
| { | |
| this.InvokeEx( () => { | |
| if (!this.buttonStop.Enabled) | |
| return; | |
| this.progressBar.Value = e.ProgressPercentage; | |
| this.labelProgress.Text = e.ProgressPercentage.ToString() + "%"; | |
| this.labelSize.Text = String.Format("{0} MB / {1} MB", e.BytesReceived / (1024 * 1024), e.TotalBytesToReceive / (1024 * 1024)); | |
| } | |
| ); | |
| } | |
| public void UpdateCompletion(Exception error) | |
| { | |
| this.InvokeEx( () => { | |
| if (error == null) | |
| { | |
| this.labelProgress.Text = "Completed"; | |
| } | |
| else | |
| { | |
| this.labelProgress.Text = "Errror"; | |
| } | |
| this.progressBar.Value = 100; | |
| }); | |
| } | |
| public DownloadInfo Info | |
| { | |
| get | |
| { | |
| return this.di; | |
| } | |
| } | |
| private void buttonOpen_Click(object sender, EventArgs e) | |
| { | |
| if (!File.Exists(di.FilePath)) | |
| return; | |
| string argument = "/select, \"" + di.FilePath + "\""; | |
| Process.Start("explorer.exe", argument); | |
| } | |
| private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) | |
| { | |
| if (String.IsNullOrEmpty(di.Link.PlayUrl)) | |
| return; | |
| Process.Start(di.Link.PlayUrl); | |
| } | |
| private void buttonStop_Click(object sender, EventArgs e) | |
| { | |
| this.buttonStop.Enabled = false; | |
| this.progressBar.Value = 100; | |
| this.di.Service.Stop(); | |
| this.labelProgress.Text = "Cancelled"; | |
| } | |
| } | |
| } | |