Changeset 1515 for trunk/eraser6/Eraser/ProgressForm.cs
- Timestamp:
- 1/13/2010 4:29:25 AM (2 years ago)
- Location:
- trunk/eraser6
- Files:
-
- 2 edited
-
. (modified) (1 prop)
-
Eraser/ProgressForm.cs (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/eraser6
- Property svn:mergeinfo changed
/branches/eraser6/SpeedMeter (added) merged: 1502-1514
- Property svn:mergeinfo changed
-
trunk/eraser6/Eraser/ProgressForm.cs
r1360 r1515 31 31 using Eraser.Util; 32 32 using System.Globalization; 33 using ProgressChangedEventArgs = Eraser.Manager.ProgressChangedEventArgs; 33 34 34 35 namespace Eraser … … 51 52 task.ProgressChanged += task_ProgressChanged; 52 53 task.TaskFinished += task_TaskFinished; 54 55 //Set the current progress 56 if (task.Progress.CurrentStep != null) 57 UpdateProgress((SteppedProgressManager)task.Progress.CurrentStep.Progress, 58 new ProgressChangedEventArgs(task.Progress.CurrentStep.Progress, null)); 53 59 } 54 60 … … 59 65 } 60 66 61 private void task_ProgressChanged(object sender, TaskProgressEventArgs e)67 private void task_ProgressChanged(object sender, ProgressChangedEventArgs e) 62 68 { 63 69 if (InvokeRequired) … … 68 74 69 75 lastUpdate = DateTime.Now; 70 Invoke(new EventHandler<TaskProgressEventArgs>(task_ProgressChanged), sender, e); 71 return; 72 } 73 74 status.Text = e.CurrentTargetStatus; 75 item.Text = WrapItemName(e.CurrentItemName); 76 pass.Text = e.CurrentTargetTotalPasses != 0 ? 77 S._("{0} out of {1}", e.CurrentItemPass, e.CurrentTargetTotalPasses) : 78 e.CurrentItemPass.ToString(CultureInfo.CurrentCulture); 79 80 if (e.TimeLeft >= TimeSpan.Zero) 81 timeLeft.Text = S._("About {0:T} left", e.TimeLeft); 82 else 83 timeLeft.Text = S._("Unknown"); 84 85 if (e.CurrentItemProgress >= 0.0f) 86 { 87 itemProgress.Style = ProgressBarStyle.Continuous; 88 itemProgress.Value = (int)(e.CurrentItemProgress * 1000); 89 itemProgressLbl.Text = e.CurrentItemProgress.ToString("#0%", 90 CultureInfo.CurrentCulture); 91 } 92 else 93 { 94 itemProgress.Style = ProgressBarStyle.Marquee; 95 itemProgressLbl.Text = string.Empty; 96 } 97 98 overallProgress.Value = (int)(e.OverallProgress * 1000); 99 overallProgressLbl.Text = S._("Total: {0,2:#0.00%}", e.OverallProgress); 76 Invoke((EventHandler<ProgressChangedEventArgs>)task_ProgressChanged, sender, e); 77 return; 78 } 79 80 ErasureTarget target = sender as ErasureTarget; 81 if (target == null) 82 return; 83 84 SteppedProgressManager progress = target.Progress as SteppedProgressManager; 85 if (progress == null) 86 return; 87 88 UpdateProgress(progress, e); 100 89 } 101 90 … … 155 144 task.Cancel(); 156 145 Close(); 146 } 147 148 private void UpdateProgress(SteppedProgressManager targetProgress, ProgressChangedEventArgs e) 149 { 150 TaskProgressChangedEventArgs e2 = (TaskProgressChangedEventArgs)e.UserState; 151 152 status.Text = targetProgress.CurrentStep.Name; 153 if (e2 != null) 154 { 155 item.Text = WrapItemName(e2.ItemName); 156 pass.Text = e2.ItemTotalPasses != 0 ? 157 S._("{0} out of {1}", e2.ItemPass, e2.ItemTotalPasses) : 158 e2.ItemPass.ToString(CultureInfo.CurrentCulture); 159 } 160 161 if (targetProgress.TimeLeft >= TimeSpan.Zero) 162 timeLeft.Text = S._("About {0} left", RoundToSeconds(targetProgress.TimeLeft)); 163 else 164 timeLeft.Text = S._("Unknown"); 165 166 if (targetProgress.Progress >= 0.0f) 167 { 168 itemProgress.Style = ProgressBarStyle.Continuous; 169 itemProgress.Value = (int)(targetProgress.Progress * 1000); 170 itemProgressLbl.Text = targetProgress.Progress.ToString("#0%", 171 CultureInfo.CurrentCulture); 172 } 173 else 174 { 175 itemProgress.Style = ProgressBarStyle.Marquee; 176 itemProgressLbl.Text = string.Empty; 177 } 178 179 overallProgress.Value = (int)(task.Progress.Progress * 1000); 180 overallProgressLbl.Text = S._("Total: {0,2:#0.00%}", task.Progress.Progress); 157 181 } 158 182 … … 185 209 return result.ToString(); 186 210 } 211 212 private TimeSpan RoundToSeconds(TimeSpan span) 213 { 214 return new TimeSpan(span.Ticks - span.Ticks % TimeSpan.TicksPerSecond); 215 } 187 216 } 188 217 }
Note: See TracChangeset
for help on using the changeset viewer.
