Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrelves2007-06-22 02:43:47 +0000
committerrelves2007-06-22 02:43:47 +0000
commit95c944af19becdf9688d6ffb7db2a5c7b7e52798 (patch)
treee36ee10124c83856f99393e85ad79ac06acfd1f1
parent8c847f7688a6045c516fd5ea464be12c6ea038a6 (diff)
downloadorg.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
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionContributor.java5
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListContentProvider.java19
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;
}

Back to the top