Changeset 2141 for trunk/eraser


Ignore:
Timestamp:
5/16/2010 10:14:23 AM (4 years ago)
Author:
lowjoel
Message:

Final fix to r2133, r2129, r2117, r1969 to fix #271.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/eraser/Eraser/SchedulerPanel.cs

    r2138 r2141  
    5454            ExecutorTasksCollection tasks = Program.eraserClient.Tasks; 
    5555            foreach (Task task in tasks) 
    56                 DisplayTask(task); 
     56                CreateTask(task); 
    5757 
    5858            //Hook the event machinery to our class. Handle the task Added and Removed 
     
    6262        } 
    6363 
    64         private void DisplayTask(Task task) 
     64        #region List-View Task Management 
     65        private void CreateTask(Task task) 
    6566        { 
    6667            //Add the item to the list view 
     
    6970            item.SubItems.Add(string.Empty); 
    7071 
    71             //Set the tag of the item so we know which task on the LV corresponds 
    72             //to the physical task object. 
     72            //Set the tag of the item so we know which task on the list-view 
     73            //corresponds to the physical task object. 
    7374            item.Tag = task; 
    7475 
    7576            //Add our event handlers to the task 
    76             task.TaskStarted += task_TaskStarted; 
    77             task.ProgressChanged += task_ProgressChanged; 
    78             task.TaskFinished += task_TaskFinished; 
     77            task.TaskStarted += TaskStarted; 
     78            task.ProgressChanged += TaskProgressChanged; 
     79            task.TaskFinished += TaskFinished; 
    7980 
    8081            //Show the fields on the list view 
    8182            UpdateTask(item); 
     83 
     84            //If the task is set to Run Immediately, then show that status. 
     85            if (task.Schedule == Schedule.RunNow) 
     86                item.SubItems[1].Text = S._("Queued for execution"); 
    8287        } 
    8388 
     
    9196 
    9297            //Set the next run time of the task 
    93             if (task.Queued || task.Schedule == Schedule.RunNow) 
    94             { 
     98            if (task.Queued) 
    9599                item.SubItems[1].Text = S._("Queued for execution"); 
    96                 item.SubItems[2].Text = string.Empty; 
    97             } 
    98100            else if (task.Schedule is RecurringSchedule) 
    99101                item.SubItems[1].Text = ((task.Schedule as RecurringSchedule).NextRun. 
    100102                    ToString("F", CultureInfo.CurrentCulture)); 
    101             else if (task.Schedule == Schedule.RunManually) 
     103            else if (task.Schedule == Schedule.RunManually || task.Schedule == Schedule.RunNow) 
    102104                item.SubItems[1].Text = S._("Not queued"); 
    103105            else 
     
    122124                item.Group = scheduler.Groups["recurring"]; 
    123125        } 
    124  
     126        #endregion 
     127 
     128        #region Task Event handlers 
    125129        /// <summary> 
    126130        /// Handles the Task Added event. 
     
    143147            } 
    144148 
    145             DisplayTask(e.Task); 
     149            CreateTask(e.Task); 
    146150        } 
    147151 
     
    190194        /// </summary> 
    191195        /// <param name="e">The task event object.</param> 
    192         void task_TaskStarted(object sender, EventArgs e) 
     196        void TaskStarted(object sender, EventArgs e) 
    193197        { 
    194198            if (InvokeRequired) 
    195199            { 
    196                 Invoke((EventHandler)task_TaskStarted, sender, e); 
     200                Invoke((EventHandler)TaskStarted, sender, e); 
    197201                return; 
    198202            } 
     
    215219        /// Handles the progress event by the task. 
    216220        /// </summary> 
    217         void task_ProgressChanged(object sender, ProgressChangedEventArgs e) 
     221        void TaskProgressChanged(object sender, ProgressChangedEventArgs e) 
    218222        { 
    219223            //Make sure we handle the event in the main thread as this requires 
     
    221225            if (InvokeRequired) 
    222226            { 
    223                 Invoke((EventHandler<ProgressChangedEventArgs>)task_ProgressChanged, sender, e); 
     227                Invoke((EventHandler<ProgressChangedEventArgs>)TaskProgressChanged, sender, e); 
    224228                return; 
    225229            } 
     
    233237        /// Handles the task completion event. 
    234238        /// </summary> 
    235         void task_TaskFinished(object sender, EventArgs e) 
     239        void TaskFinished(object sender, EventArgs e) 
    236240        { 
    237241            if (InvokeRequired) 
    238242            { 
    239                 Invoke((EventHandler)task_TaskFinished, sender, e); 
     243                Invoke((EventHandler)TaskFinished, sender, e); 
    240244                return; 
    241245            } 
     
    323327            } 
    324328        } 
    325  
     329        #endregion 
     330 
     331        #region List-View Event handlers 
    326332        /// <summary> 
    327333        /// Occurs when the user presses a key on the list view. 
     
    750756            DeleteSelectedTasks(); 
    751757        } 
     758        #endregion 
    752759 
    753760        #region Item management 
Note: See TracChangeset for help on using the changeset viewer.