Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/TaskListManager.java6
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskList.java6
2 files changed, 12 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/TaskListManager.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/TaskListManager.java
index faf870fdd..834e777a3 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/TaskListManager.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/TaskListManager.java
@@ -112,6 +112,12 @@ public class TaskListManager {
}
public void activateTask(ITask task) {
+ if (!MylarTasksPlugin.getDefault().isMultipleMode()) {
+ for (ITask t : taskList.getActiveTasks()) {
+ for (ITaskActivityListener listener : listeners) listener.taskDeactivated(t);
+ }
+ taskList.clearActiveTasks();
+ }
taskList.setActive(task, true);
for (ITaskActivityListener listener : listeners) listener.taskActivated(task);
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskList.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskList.java
index d5c46e422..a2331b493 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskList.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskList.java
@@ -165,4 +165,10 @@ public class TaskList implements Serializable {
categories.clear();
rootTasks.clear();
}
+ public void clearActiveTasks() {
+ for (ITask task : activeTasks) {
+ task.setActive(false);
+ }
+ activeTasks.clear();
+ }
}

Back to the top