diff options
author | iain holmes <iain@xamarin.com> | 2015-12-14 15:17:19 +0300 |
---|---|---|
committer | iain holmes <iain@xamarin.com> | 2015-12-14 18:43:37 +0300 |
commit | 6bbab2b37a98802c21c22145f4bd75b678960483 (patch) | |
tree | 8fdae20075b6ce5aafbbff8a0639a4e3c6f25cfb /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks | |
parent | f88116cb54c4ea0be239762828643abb6b4ef9cf (diff) |
[IDE] Use the unsorted path to edit the model
The path from the various editing args is relative to the sorted model, so we need to convert it to the unsorted model before accessing the data
Fixes BXC #36056
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks')
-rw-r--r-- | main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/UserTasksView.cs | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/UserTasksView.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/UserTasksView.cs index be4d330314..ba001f0f2e 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/UserTasksView.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/UserTasksView.cs @@ -252,12 +252,14 @@ namespace MonoDevelop.Ide.Tasks } } } - + void UserTaskPriorityEdited (object o, ComboSelectionChangedArgs args) { - Gtk.TreeIter iter; - if (store.GetIterFromString (out iter, args.Path)) { - TaskListEntry task = (TaskListEntry) store.GetValue (iter, (int)Columns.UserTask); + Gtk.TreeIter iter, sortedIter; + + if (sortModel.GetIterFromString (out sortedIter, args.Path)) { + iter = sortModel.ConvertIterToChildIter (sortedIter); + TaskListEntry task = (TaskListEntry) sortModel.GetValue (sortedIter, (int)Columns.UserTask); if (args.Active == 0) { task.Priority = TaskPriority.High; @@ -276,10 +278,12 @@ namespace MonoDevelop.Ide.Tasks void UserTaskCompletedToggled (object o, ToggledArgs args) { - Gtk.TreeIter iter; - if (store.GetIterFromString (out iter, args.Path)) { - bool val = (bool)store.GetValue (iter, (int)Columns.Completed); - TaskListEntry task = (TaskListEntry) store.GetValue (iter, (int)Columns.UserTask); + Gtk.TreeIter iter, sortedIter; + + if (sortModel.GetIterFromString (out sortedIter, args.Path)) { + iter = sortModel.ConvertIterToChildIter (sortedIter); + bool val = (bool)sortModel.GetValue (sortedIter, (int)Columns.Completed); + TaskListEntry task = (TaskListEntry) sortModel.GetValue (sortedIter, (int)Columns.UserTask); task.Completed = !val; store.SetValue (iter, (int)Columns.Completed, !val); store.SetValue (iter, (int)Columns.Bold, task.Completed ? (int)Pango.Weight.Light : (int)Pango.Weight.Bold); @@ -289,9 +293,11 @@ namespace MonoDevelop.Ide.Tasks void UserTaskDescEdited (object o, EditedArgs args) { - Gtk.TreeIter iter; - if (store.GetIterFromString (out iter, args.Path)) { - TaskListEntry task = (TaskListEntry) store.GetValue (iter, (int)Columns.UserTask); + Gtk.TreeIter iter, sortedIter; + + if (sortModel.GetIterFromString (out sortedIter, args.Path)) { + iter = sortModel.ConvertIterToChildIter (sortedIter); + TaskListEntry task = (TaskListEntry) sortModel.GetValue (sortedIter, (int)Columns.UserTask); task.Description = args.NewText; store.SetValue (iter, (int)Columns.Description, args.NewText); TaskService.SaveUserTasks (task.WorkspaceObject); |