diff options
author | relves | 2007-06-22 02:43:47 +0000 |
---|---|---|
committer | relves | 2007-06-22 02:43:47 +0000 |
commit | 95c944af19becdf9688d6ffb7db2a5c7b7e52798 (patch) | |
tree | e36ee10124c83856f99393e85ad79ac06acfd1f1 | |
parent | 8c847f7688a6045c516fd5ea464be12c6ea038a6 (diff) | |
download | org.eclipse.mylyn.tasks-95c944af19becdf9688d6ffb7db2a5c7b7e52798.tar.gz org.eclipse.mylyn.tasks-95c944af19becdf9688d6ffb7db2a5c7b7e52798.tar.xz org.eclipse.mylyn.tasks-95c944af19becdf9688d6ffb7db2a5c7b7e52798.zip |
RESOLVED - bug 165380: improve linking between Task Editor and Task List
https://bugs.eclipse.org/bugs/show_bug.cgi?id=165380
2 files changed, 23 insertions, 1 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java index 352d66dd7..58a2bf9c2 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java @@ -35,6 +35,7 @@ import org.eclipse.mylyn.internal.tasks.ui.TasksUiImages; import org.eclipse.mylyn.internal.tasks.ui.actions.AttachFileAction; import org.eclipse.mylyn.internal.tasks.ui.actions.CopyTaskDetailsAction; import org.eclipse.mylyn.internal.tasks.ui.actions.OpenWithBrowserAction; +import org.eclipse.mylyn.internal.tasks.ui.actions.ShowInTaskListAction; import org.eclipse.mylyn.internal.tasks.ui.actions.SynchronizeEditorAction; import org.eclipse.mylyn.internal.tasks.ui.actions.TaskActivateAction; import org.eclipse.mylyn.internal.tasks.ui.actions.TaskDeactivateAction; @@ -83,6 +84,8 @@ public class TaskEditorActionContributor extends MultiPageEditorActionBarContrib private SynchronizeEditorAction synchronizeEditorAction = new SynchronizeEditorAction(); + private ShowInTaskListAction showInTaskListAction = new ShowInTaskListAction(); + private GlobalAction cutAction; private GlobalAction undoAction; @@ -208,6 +211,7 @@ public class TaskEditorActionContributor extends MultiPageEditorActionBarContrib attachFileAction.selectionChanged(selection); attachFileAction.setEditor(editor); synchronizeEditorAction.selectionChanged(new StructuredSelection(this.getEditor())); + showInTaskListAction.selectionChanged(selection); manager.add(openWithBrowserAction); if (task instanceof AbstractTask) { @@ -231,6 +235,7 @@ public class TaskEditorActionContributor extends MultiPageEditorActionBarContrib } }); } + manager.add(showInTaskListAction); manager.add(new Separator()); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java index d47327eb6..7c9a8aca1 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java @@ -62,7 +62,24 @@ public class TaskListContentProvider implements IStructuredContentProvider, ITre } public Object getParent(Object child) { - // parents can not be computed since an element can have multiple + // Return first parent found, first search within queries then categories. + if (child instanceof AbstractTask) { + Set<AbstractRepositoryQuery> queries = TasksUiPlugin.getTaskListManager() + .getTaskList() + .getQueriesForHandle(((AbstractTask) child).getHandleIdentifier()); + if (queries.size() > 0) { + return queries.toArray()[0]; + } + + AbstractTaskContainer container = TasksUiPlugin.getTaskListManager().getTaskList().getContainerForHandle( + ((AbstractTask) child).getHandleIdentifier()); + + if (container != null) { + return container; + } + + } + // no parent found return null; } |