private void OnStatusChanged(UpdateStatusEventArgs.Stage stage, int currentPatch, int maxPatch, double progress, double maxProgress, double summaryProgress, double summaryMaxProgress) { if (StatusChanged != null) { StatusChanged(this, new UpdateStatusEventArgs(stage, currentPatch, maxPatch, progress, maxProgress, summaryProgress, summaryMaxProgress)); } }
private void OnUpdateStatusChanged(object sender, UpdateStatusEventArgs e) { if (!this.Dispatcher.CheckAccess()) { this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new UpdateStatusEventHandler((s, e2) => { OnUpdateStatusChanged(sender, e2); }), sender, e); return; } UpdateMainProgressBar(e.Progress, e.MaxProgress); UpdateSubProgressBar(e.SummaryProgress, e.SummaryMaxProgress); string updateText = string.Empty; switch (e.UpdateStage) { case UpdateStatusEventArgs.Stage.DOWNLOADING: updateText = string.Format(LanguageManager.Model.UpdateDownloading, e.CurrentPatch, e.MaxPatch, e.SummaryProgress, e.SummaryMaxProgress); break; case UpdateStatusEventArgs.Stage.EXTRACTING: updateText = string.Format(LanguageManager.Model.UpdateExtracting, e.CurrentPatch, e.MaxPatch, e.SummaryProgress, e.SummaryMaxProgress); break; case UpdateStatusEventArgs.Stage.INSTALLING: updateText = string.Format(LanguageManager.Model.UpdateInstalling, e.Progress, e.MaxProgress); break; } this.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, new SetInfoText((text_) => { UpdateText.Text = text_; }), updateText); }