diff options
author | mkersten | 2007-08-23 00:28:35 +0000 |
---|---|---|
committer | mkersten | 2007-08-23 00:28:35 +0000 |
commit | 7c8361b0ebd18ffe433d04a1d4fb2c40a909f124 (patch) | |
tree | 5a9eececc852cd5906c88518dfcabbe25f811521 | |
parent | 698a8765dd2e0efbe17ce3c6ea8762e23da043dc (diff) | |
download | org.eclipse.mylyn.tasks-7c8361b0ebd18ffe433d04a1d4fb2c40a909f124.tar.gz org.eclipse.mylyn.tasks-7c8361b0ebd18ffe433d04a1d4fb2c40a909f124.tar.xz org.eclipse.mylyn.tasks-7c8361b0ebd18ffe433d04a1d4fb2c40a909f124.zip |
RESOLVED - bug 196522: tasks activated via editor toolbar are not added to the history
https://bugs.eclipse.org/bugs/show_bug.cgi?id=196522
4 files changed, 18 insertions, 5 deletions
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java index 94f2b032b..6a3c8734d 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasks/tests/TaskHistoryTest.java @@ -75,6 +75,7 @@ public class TaskHistoryTest extends TestCase { } private void resetHistory() { + manager.deactivateAllTasks(); manager.getTaskActivationHistory().clear(); ContextCorePlugin.getContextManager().resetActivityHistory(); } @@ -93,7 +94,8 @@ public class TaskHistoryTest extends TestCase { assertTrue(task3.isActive()); assertFalse(task2.isActive()); - + assertFalse(task1.isActive()); + previousTaskAction.run(); assertTrue(task2.isActive()); diff --git a/org.eclipse.mylyn.tasks.ui/plugin.xml b/org.eclipse.mylyn.tasks.ui/plugin.xml index b4f458a5f..74619de3e 100644 --- a/org.eclipse.mylyn.tasks.ui/plugin.xml +++ b/org.eclipse.mylyn.tasks.ui/plugin.xml @@ -727,7 +727,7 @@ allowLabelUpdate="true" class="org.eclipse.mylyn.internal.tasks.ui.actions.ActivateTaskHistoryDropDownAction" icon="icons/etool16/navigate-previous.gif" - id="org.eclipse.mylyn.java.ui.editor.folding.auto" + id="org.eclipse.mylyn.tasks.ui.navigate.task.history" label="Activate Previous Task" pulldown="true" style="pulldown" diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ActivateTaskHistoryDropDownAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ActivateTaskHistoryDropDownAction.java index 10bd23816..1310899f4 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ActivateTaskHistoryDropDownAction.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/ActivateTaskHistoryDropDownAction.java @@ -122,7 +122,13 @@ public class ActivateTaskHistoryDropDownAction extends TaskNavigateDropDownActio public void run() { if (taskHistory.hasPrevious()) { AbstractTask previousTask = taskHistory.getPreviousTask(); - new TaskActivateAction().run(previousTask); + if (previousTask != null && !previousTask.isActive()) { + TasksUiPlugin.getTaskListManager().activateTask(previousTask, false); + if (TaskListView.getFromActivePerspective() != null) { + TaskListView.getFromActivePerspective().refreshAndFocus(false); + } + } + setButtonStatus(); // view.refreshAndFocus(false); // TasksUiUtil.refreshAndOpenTaskListElement(previousTask); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java index 201cd2233..af86994a8 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/ui/TaskListManager.java @@ -840,11 +840,16 @@ public class TaskListManager implements IPropertyChangeListener { } public void activateTask(AbstractTask task) { + activateTask(task, true); + } + + public void activateTask(AbstractTask task, boolean addToHistory) { deactivateAllTasks(); try { - taskActivityHistory.addTask(task); - taskList.setActive(task, true); + if (addToHistory) { + taskActivityHistory.addTask(task); + } for (ITaskActivityListener listener : new ArrayList<ITaskActivityListener>(activityListeners)) { try { listener.taskActivated(task); |