diff options
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui')
-rw-r--r-- | org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/TaskListManager.java | 6 | ||||
-rw-r--r-- | org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/internal/TaskList.java | 6 |
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(); + } } |