public void UpdateTask(IceTask task)
{
// Set the task in the store so the model will update the UI.
Gtk.TreeIter iter;
if (!taskIters.ContainsKey (task.Id)) {
// This must be a new task that should be added in.
iter = tasks.Append ();
taskIters [task.Id] = iter;
} else {
iter = taskIters [task.Id];
}
if (task.State == TaskState.Deleted) {
taskIters.Remove (task.Id);
if (!tasks.Remove (ref iter)) {
Logger.Debug ("Successfully deleted from taskStore: {0}",
task.Name);
} else {
Logger.Debug ("Problem removing from taskStore: {0}",
task.Name);
}
} else {
tasks.SetValue (iter, 0, task);
}
}