diff options
author | iain holmes <iain@xamarin.com> | 2015-12-14 15:17:19 +0300 |
---|---|---|
committer | iain holmes <iain@xamarin.com> | 2015-12-14 19:16:41 +0300 |
commit | 7785451a42ed00571efb5032ffd8deea9af433a2 (patch) | |
tree | 9259b3b780176994bc3b8c9240c3463943c4dabc /main/src/core/MonoDevelop.Ide | |
parent | 9c775855d351bb62892bb62a2a1eb1dc102dad7e (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')
-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 2b58dfc474..4896ee087d 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/UserTasksView.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/UserTasksView.cs @@ -264,12 +264,14 @@ namespace MonoDevelop.Ide.Tasks } } } - + void UserTaskPriorityEdited (object o, ComboSelectionChangedArgs args) { - Gtk.TreeIter iter; - if (store.GetIterFromString (out iter, args.Path)) { - Task task = (Task) store.GetValue (iter, (int)Columns.UserTask); + Gtk.TreeIter iter, sortedIter; + + if (sortModel.GetIterFromString (out sortedIter, args.Path)) { + iter = sortModel.ConvertIterToChildIter (sortedIter); + Task task = (Task) sortModel.GetValue (sortedIter, (int)Columns.UserTask); if (args.Active == 0) { task.Priority = TaskPriority.High; @@ -288,10 +290,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); - Task task = (Task) 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); + Task task = (Task) 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); @@ -301,9 +305,11 @@ namespace MonoDevelop.Ide.Tasks void UserTaskDescEdited (object o, EditedArgs args) { - Gtk.TreeIter iter; - if (store.GetIterFromString (out iter, args.Path)) { - Task task = (Task) store.GetValue (iter, (int)Columns.UserTask); + Gtk.TreeIter iter, sortedIter; + + if (sortModel.GetIterFromString (out sortedIter, args.Path)) { + iter = sortModel.ConvertIterToChildIter (sortedIter); + Task task = (Task) sortModel.GetValue (sortedIter, (int)Columns.UserTask); task.Description = args.NewText; store.SetValue (iter, (int)Columns.Description, args.NewText); TaskService.SaveUserTasks (task.WorkspaceObject); |