private void UpdateProgressBars() { progressBar.ValuePercent = _lastProgressPercentComplete; _progressBarToolTip.SetToolTip(progressBar, string.Format("{0}: {1}", _state, _lastProgressPercentCompleteStr)); _taskbarItem.Progress = _lastProgressPercentComplete; switch (_state) { case ProgressProviderState.Error: progressBar.SetError(); _taskbarItem.Error(); break; case ProgressProviderState.Paused: progressBar.SetPaused(); _taskbarItem.Pause(); break; case ProgressProviderState.Canceled: progressBar.SetMuted(); _taskbarItem.NoProgress(); break; case ProgressProviderState.Success: progressBar.SetSuccess(); _taskbarItem.NoProgress(); break; default: progressBar.SetSuccess(); _taskbarItem.Normal(); break; } }
private void ControllerOnPluginProgressUpdated(IPlugin plugin, ProgressProvider progressProvider) { if (!_isRunning) { return; } _state = progressProvider.State; var percentCompleteStr = (progressProvider.PercentComplete / 100.0).ToString("P"); var line = string.Format("{0} is {1} - {2} complete - {3} - {4} elapsed, {5} remaining", plugin.Name, progressProvider.State, percentCompleteStr, progressProvider.Status, progressProvider.RunTime.ToStringShort(), progressProvider.TimeRemaining.ToStringShort()); AppendStatus(line); progressBar.ValuePercent = progressProvider.PercentComplete; _progressBarToolTip.SetToolTip(progressBar, string.Format("{0}: {1}", progressProvider.State, percentCompleteStr)); _taskbarItem.Progress = progressProvider.PercentComplete; switch (progressProvider.State) { case ProgressProviderState.Error: progressBar.SetError(); _taskbarItem.Error(); break; case ProgressProviderState.Paused: progressBar.SetPaused(); _taskbarItem.Pause(); break; case ProgressProviderState.Canceled: progressBar.SetMuted(); _taskbarItem.NoProgress(); break; default: progressBar.SetSuccess(); _taskbarItem.Normal(); break; } }