diff options
author | Mike Krüger <mkrueger@novell.com> | 2010-05-21 14:30:55 +0400 |
---|---|---|
committer | Mike Krüger <mkrueger@novell.com> | 2010-05-21 14:30:55 +0400 |
commit | c58cec1b7b025aa1153772b6164bc4d7b5eeafce (patch) | |
tree | 34b2e8ea9f43a878e32a9e1d3c7bd34ebbbb0461 /main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks | |
parent | 2b73789fb0727700849234decd16997d5da44ba3 (diff) |
* MonoDevelop.Ide.Tasks/Task.cs:
* MonoDevelop.Ide.Tasks/TaskStore.cs:
* MonoDevelop.Ide.Tasks/TaskService.cs: Added event to the task
service that informs of a jump to task command.
svn path=/trunk/monodevelop/; revision=157673
Diffstat (limited to 'main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks')
3 files changed, 30 insertions, 2 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/Task.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/Task.cs index 5ff81f8f79..76668b73d5 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/Task.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/Task.cs @@ -219,6 +219,7 @@ namespace MonoDevelop.Ide.Tasks nav.Expanded = true; } } + TaskService.InformJumpToTask (this); } public bool BelongsToItem (IWorkspaceObject item, bool checkHierarchy) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskService.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskService.cs index d78722cad8..d436197154 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskService.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskService.cs @@ -175,6 +175,16 @@ namespace MonoDevelop.Ide.Tasks LoggingService.LogWarning ("Could not save user tasks: " + fileToSave, ex); } } + + + public static event EventHandler<TaskEventArgs> JumpedToTask; + + public static void InformJumpToTask (Task task) + { + EventHandler<TaskEventArgs> handler = JumpedToTask; + if (handler != null) + handler (null, new TaskEventArgs (task)); + } } } diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskStore.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskStore.cs index b30b38f4b2..552d2f1a0f 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskStore.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Tasks/TaskStore.cs @@ -364,6 +364,23 @@ namespace MonoDevelop.Ide.Tasks return GetNextLocation (false); } + class TaskNavigationPoint : TextFileNavigationPoint + { + Task task; + + public TaskNavigationPoint (Task task) : base (task.FileName, task.Line, task.Column) + { + this.task = task; + } + + protected override Document DoShow () + { + Document result = base.DoShow (); + TaskService.InformJumpToTask (task); + return result; + } + } + NavigationPoint GetNextLocation (bool followSeverity) { int n; @@ -397,7 +414,7 @@ namespace MonoDevelop.Ide.Tasks if (currentLocationTask != null) { TaskService.ShowStatus (currentLocationTask); - return new TextFileNavigationPoint (currentLocationTask.FileName, currentLocationTask.Line, currentLocationTask.Column); + return new TaskNavigationPoint (currentLocationTask); } else { IdeApp.Workbench.StatusBar.ShowMessage (GettextCatalog.GetString ("End of list")); @@ -443,7 +460,7 @@ namespace MonoDevelop.Ide.Tasks if (currentLocationTask != null) { TaskService.ShowStatus (currentLocationTask); - return new TextFileNavigationPoint (currentLocationTask.FileName, currentLocationTask.Line, currentLocationTask.Column); + return new TaskNavigationPoint (currentLocationTask); } else { IdeApp.Workbench.StatusBar.ShowMessage (GettextCatalog.GetString ("End of list")); |