void OnTaskTitleEdited(object sender, EditedArgs args)
{
try {
TreeIter iter;
TreePath path = new TreePath (args.Path);
if (m_tasksTreeView.Model.GetIter (out iter, path)) {
var item = (Task)m_tasksTreeView.Model.GetValue (iter, 0);
if (item != null) {
var command = new EditTaskCommand () {
Task = item,
Property = "Title",
Value = args.NewText,
Storage = this.m_storage
};
var commands = ServiceManager.Get<CommandService> ().Commands;
commands.Do (command);
/* select the next column for editing */
var column = m_tasksTreeView.Columns[4];
m_tasksTreeView.SetCursor (path, column, true);
}
}
}
finally {
this.OnEditingStopped ();
}
}