internal void Repaint() { if (transfer.Status == Status.Done) { if (!frozen) { info.Text = GuiUtil.FormatByte(transfer.Size); progressBar.Value = 1000; pauseButton.Enabled = false; deleteButton.Enabled = false; progressBar.Enabled = false; frozen = true; } } else if (transfer.Status == Status.Idle) { if (!frozen) { pauseButton.Image = IconHandler.Instance.MediaPlaybackStart; pauseButton.Enabled = false; info.Text = "Paused — " + GuiUtil.FormatByte(transfer.Received) + " of " + GuiUtil.FormatByte(transfer.Size); frozen = true; } } else { progressBar.Value = (int)(transfer.Progress * 1000.0); string timeLeft; var estimateTimeLeft = transfer.EstimatedTimeLeft; if (estimateTimeLeft == null) { timeLeft = "∞"; } else { timeLeft = GuiUtil.FormatTimeSpan((TimeSpan)estimateTimeLeft); } info.Text = timeLeft + " remaining — " + GuiUtil.FormatByte(transfer.Received) + " of " + GuiUtil.FormatByte(transfer.Size) + " (" + GuiUtil.FormatByte(transfer.Speed) + "/s" + ")"; frozen = false; } }