Changeset 1765
- Timestamp:
- 2/8/2010 6:44:59 AM (2 years ago)
- Location:
- branches/eraser6/CodeReview
- Files:
-
- 6 edited
-
Eraser.Manager/DirectExecutor.cs (modified) (6 diffs)
-
Eraser.Manager/Executor.cs (modified) (1 diff)
-
Eraser.Manager/Task.cs (modified) (5 diffs)
-
Eraser/MainForm.cs (modified) (3 diffs)
-
Eraser/ProgressForm.cs (modified) (3 diffs)
-
Eraser/SchedulerPanel.cs (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eraser6/CodeReview/Eraser.Manager/DirectExecutor.cs
r1745 r1765 27 27 using System.Threading; 28 28 using System.IO; 29 using System.Runtime.Serialization; 30 using System.Runtime.Serialization.Formatters.Binary; 29 31 30 32 using Eraser.Util; 31 33 using Eraser.Util.ExtensionMethods; 32 using System.Security.Principal;33 using System.Runtime.Serialization;34 using System.Runtime.Serialization.Formatters.Binary;35 using System.Security.Permissions;36 34 37 35 namespace Eraser.Manager … … 152 150 } 153 151 154 private void OnTaskEdited(object sender, TaskEventArgs e)152 private void OnTaskEdited(object sender, EventArgs e) 155 153 { 156 154 //Find all schedule entries containing the task - since the user cannot make 157 155 //edits to the task when it is queued (only if it is scheduled) remove 158 156 //all task references and add them back 157 Task task = (Task)sender; 159 158 lock (tasksLock) 160 159 for (int i = 0; i != scheduledTasks.Count; ++i) … … 162 161 { 163 162 Task currentTask = scheduledTasks.Values[i][j]; 164 if (currentTask == e.Task)163 if (currentTask == task) 165 164 scheduledTasks.Values[i].RemoveAt(j); 166 165 else … … 169 168 170 169 //Then reschedule the task 171 if ( e.Task.Schedule is RecurringSchedule)172 ScheduleTask( e.Task);170 if (task.Schedule is RecurringSchedule) 171 ScheduleTask(task); 173 172 } 174 173 … … 248 247 //Broadcast the task started event. 249 248 task.Canceled = false; 250 task.OnTaskStarted(new TaskEventArgs(task)); 251 OnTaskProcessing(new TaskEventArgs(task)); 249 task.OnTaskStarted(); 252 250 253 251 //Run the task … … 318 316 319 317 //And the task finished event. 320 task.OnTaskFinished(new TaskEventArgs(task)); 321 OnTaskProcessed(new TaskEventArgs(task)); 318 task.OnTaskFinished(); 322 319 323 320 //Remove the actively executing task from our instance variable -
branches/eraser6/CodeReview/Eraser.Manager/Executor.cs
r1681 r1765 126 126 TaskDeleted(this, e); 127 127 } 128 129 /// <summary>130 /// The task processing event object.131 /// </summary>132 public EventHandler<TaskEventArgs> TaskProcessing { get; set; }133 134 /// <summary>135 /// Helper function for the Task processing event.136 /// </summary>137 protected void OnTaskProcessing(TaskEventArgs e)138 {139 if (TaskProcessing != null)140 TaskProcessing(this, e);141 }142 143 /// <summary>144 /// The task processed event object.145 /// </summary>146 public EventHandler<TaskEventArgs> TaskProcessed { get; set; }147 148 /// <summary>149 /// Helper function for the Task processed event.150 /// </summary>151 protected void OnTaskProcessed(TaskEventArgs e)152 {153 if (TaskProcessed != null)154 TaskProcessed(this, e);155 }156 128 } 157 129 -
branches/eraser6/CodeReview/Eraser.Manager/Task.cs
r1745 r1765 226 226 /// The task has been edited. 227 227 /// </summary> 228 public EventHandler <TaskEventArgs>TaskEdited { get; set; }228 public EventHandler TaskEdited { get; set; } 229 229 230 230 /// <summary> 231 231 /// The start of the execution of a task. 232 232 /// </summary> 233 public EventHandler <TaskEventArgs>TaskStarted { get; set; }233 public EventHandler TaskStarted { get; set; } 234 234 235 235 /// <summary> … … 241 241 /// The completion of the execution of a task. 242 242 /// </summary> 243 public EventHandler <TaskEventArgs>TaskFinished { get; set; }243 public EventHandler TaskFinished { get; set; } 244 244 245 245 /// <summary> … … 249 249 { 250 250 if (TaskEdited != null) 251 TaskEdited(this, new TaskEventArgs(this));251 TaskEdited(this, EventArgs.Empty); 252 252 } 253 253 … … 255 255 /// Broadcasts the task execution start event. 256 256 /// </summary> 257 /// <param name="e"></param> 258 internal void OnTaskStarted(TaskEventArgs e) 257 internal void OnTaskStarted() 259 258 { 260 259 if (TaskStarted != null) 261 TaskStarted(this, e);260 TaskStarted(this, EventArgs.Empty); 262 261 Executing = true; 263 262 Progress = new SteppedProgressManager(); … … 294 293 /// Broadcasts the task execution completion event. 295 294 /// </summary> 296 /// <param name="e"></param> 297 internal void OnTaskFinished(TaskEventArgs e) 295 internal void OnTaskFinished() 298 296 { 299 297 if (TaskFinished != null) 300 TaskFinished(this, e);298 TaskFinished(this, EventArgs.Empty); 301 299 Executing = false; 302 300 Progress = null; -
branches/eraser6/CodeReview/Eraser/MainForm.cs
r1745 r1765 54 54 Theming.ApplyTheme(notificationMenu); 55 55 56 //Connect to the executor task processing and processed events. 57 Program.eraserClient.TaskProcessing += OnTaskProcessing; 58 Program.eraserClient.TaskProcessed += OnTaskProcessed; 56 //For every task we need to register the Task Started and Task Finished 57 //event handlers for progress notifications 58 foreach (Task task in Program.eraserClient.Tasks) 59 OnTaskAdded(this, new TaskEventArgs(task)); 60 Program.eraserClient.TaskAdded += OnTaskAdded; 61 Program.eraserClient.TaskDeleted += OnTaskDeleted; 59 62 60 63 //Check the notification area context menu's minimise to tray item. … … 305 308 306 309 #region Task processing code (for notification area animation) 307 void OnTaskProcessing(object sender, TaskEventArgs e) 310 void OnTaskAdded(object sender, TaskEventArgs e) 311 { 312 e.Task.TaskStarted += OnTaskProcessing; 313 e.Task.TaskFinished += OnTaskProcessed; 314 } 315 316 void OnTaskDeleted(object sender, TaskEventArgs e) 317 { 318 e.Task.TaskStarted -= OnTaskProcessing; 319 e.Task.TaskFinished -= OnTaskProcessed; 320 } 321 322 void OnTaskProcessing(object sender, EventArgs e) 308 323 { 309 324 if (InvokeRequired) 310 325 { 311 Invoke((EventHandler <TaskEventArgs>)OnTaskProcessing, sender, e);326 Invoke((EventHandler)OnTaskProcessing, sender, e); 312 327 return; 313 328 } 314 329 315 string iconText = S._("Eraser") + " - " + S._("Processing:") + ' ' + e.Task.UIText; 330 Task task = (Task)sender; 331 string iconText = S._("Eraser") + " - " + S._("Processing:") + ' ' + task.UIText; 316 332 if (iconText.Length >= 64) 317 333 iconText = iconText.Remove(60) + "..."; … … 322 338 } 323 339 324 void OnTaskProcessed(object sender, TaskEventArgs e)340 void OnTaskProcessed(object sender, EventArgs e) 325 341 { 326 342 if (InvokeRequired) 327 343 { 328 Invoke((EventHandler <TaskEventArgs>)OnTaskProcessed, sender, e);344 Invoke((EventHandler)OnTaskProcessed, sender, e); 329 345 return; 330 346 } -
branches/eraser6/CodeReview/Eraser/ProgressForm.cs
r1745 r1765 89 89 } 90 90 91 private void task_TaskFinished(object sender, TaskEventArgs e)91 private void task_TaskFinished(object sender, EventArgs e) 92 92 { 93 93 if (IsDisposed || !IsHandleCreated) … … 95 95 if (InvokeRequired) 96 96 { 97 Invoke((EventHandler <TaskEventArgs>)task_TaskFinished, sender, e);97 Invoke((EventHandler)task_TaskFinished, sender, e); 98 98 return; 99 99 } 100 100 101 101 //Update the UI. Set everything to 100% 102 Task task = (Task)sender; 102 103 timeLeft.Text = item.Text = pass.Text = string.Empty; 103 104 overallProgressLbl.Text = S._("Total: {0,2:#0.00%}", 1.0); … … 109 110 //Inform the user on the status of the task. 110 111 LogLevel highestLevel = LogLevel.Information; 111 LogEntryCollection entries = e.Task.Log.LastSessionEntries;112 LogEntryCollection entries = task.Log.LastSessionEntries; 112 113 foreach (LogEntry log in entries) 113 114 if (log.Level > highestLevel) -
branches/eraser6/CodeReview/Eraser/SchedulerPanel.cs
r1745 r1765 186 186 /// </summary> 187 187 /// <param name="e">The task event object.</param> 188 void task_TaskStarted(object sender, TaskEventArgs e)188 void task_TaskStarted(object sender, EventArgs e) 189 189 { 190 190 if (InvokeRequired) 191 191 { 192 Invoke((EventHandler <TaskEventArgs>)task_TaskStarted, sender, e);192 Invoke((EventHandler)task_TaskStarted, sender, e); 193 193 return; 194 194 } 195 195 196 196 //Get the list view item 197 ListViewItem item = GetTaskItem(e.Task); 197 Task task = (Task)sender; 198 ListViewItem item = GetTaskItem(task); 198 199 199 200 //Update the status. … … 228 229 /// Handles the task completion event. 229 230 /// </summary> 230 void task_TaskFinished(object sender, TaskEventArgs e)231 void task_TaskFinished(object sender, EventArgs e) 231 232 { 232 233 if (InvokeRequired) 233 234 { 234 Invoke((EventHandler <TaskEventArgs>)task_TaskFinished, sender, e);235 Invoke((EventHandler)task_TaskFinished, sender, e); 235 236 return; 236 237 } 237 238 238 239 //Get the list view item 239 ListViewItem item = GetTaskItem(e.Task); 240 Task task = (Task)sender; 241 ListViewItem item = GetTaskItem(task); 240 242 if (item == null) 241 243 return; … … 250 252 //Get the exit status of the task. 251 253 LogLevel highestLevel = LogLevel.Information; 252 LogEntryCollection logs = e.Task.Log.LastSessionEntries;254 LogEntryCollection logs = task.Log.LastSessionEntries; 253 255 foreach (LogEntry log in logs) 254 256 if (log.Level > highestLevel) … … 269 271 { 270 272 case LogLevel.Warning: 271 message = S._("The task {0} has completed with warnings.", e.Task.UIText);273 message = S._("The task {0} has completed with warnings.", task.UIText); 272 274 icon = ToolTipIcon.Warning; 273 275 break; 274 276 case LogLevel.Error: 275 message = S._("The task {0} has completed with errors.", e.Task.UIText);277 message = S._("The task {0} has completed with errors.", task.UIText); 276 278 icon = ToolTipIcon.Error; 277 279 break; 278 280 case LogLevel.Fatal: 279 message = S._("The task {0} did not complete.", e.Task.UIText);281 message = S._("The task {0} did not complete.", task.UIText); 280 282 icon = ToolTipIcon.Error; 281 283 break; 282 284 default: 283 message = S._("The task {0} has completed.", e.Task.UIText);285 message = S._("The task {0} has completed.", task.UIText); 284 286 icon = ToolTipIcon.Info; 285 287 break; … … 292 294 //If the user requested us to remove completed one-time tasks, do so. 293 295 if (EraserSettings.Get().ClearCompletedTasks && 294 ( e.Task.Schedule == Schedule.RunNow) && highestLevel < LogLevel.Warning)295 { 296 Program.eraserClient.Tasks.Remove( e.Task);296 (task.Schedule == Schedule.RunNow) && highestLevel < LogLevel.Warning) 297 { 298 Program.eraserClient.Tasks.Remove(task); 297 299 } 298 300 … … 319 321 //category since run-on-restart tasks will be changed to immediately 320 322 //run tasks. 321 CategorizeTask( e.Task, item);323 CategorizeTask(task, item); 322 324 323 325 //Update the status of the task.
Note: See TracChangeset
for help on using the changeset viewer.
