diff options
author | mkersten | 2005-10-19 02:07:57 +0000 |
---|---|---|
committer | mkersten | 2005-10-19 02:07:57 +0000 |
commit | 393e07d21b9a71485c893d1cd715062526b3d9a8 (patch) | |
tree | 9281a21ad0159dfd2c2b836ee0388b71c58ce5dc | |
parent | 8cecfd6ea54981b5c61bd784d6082059b46406f7 (diff) | |
download | org.eclipse.mylyn.tasks-393e07d21b9a71485c893d1cd715062526b3d9a8.tar.gz org.eclipse.mylyn.tasks-393e07d21b9a71485c893d1cd715062526b3d9a8.tar.xz org.eclipse.mylyn.tasks-393e07d21b9a71485c893d1cd715062526b3d9a8.zip |
Patch for Bugzilla Bug 112812: deactivation doesn't add task to history
2 files changed, 25 insertions, 8 deletions
diff --git a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java index 5c8058246..fdc0ca874 100644 --- a/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java +++ b/org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java @@ -23,6 +23,7 @@ import org.eclipse.mylar.tasklist.TaskListManager; import org.eclipse.mylar.tasklist.ui.actions.NextTaskDropDownAction; import org.eclipse.mylar.tasklist.ui.actions.PreviousTaskDropDownAction; import org.eclipse.mylar.tasklist.ui.actions.TaskActivateAction; +import org.eclipse.mylar.tasklist.ui.actions.TaskDeactivateAction; import org.eclipse.mylar.tasklist.ui.actions.DropDownTaskNavigateAction.TaskNavigateAction; import org.eclipse.mylar.tasklist.ui.views.TaskActivationHistory; import org.eclipse.mylar.tasklist.ui.views.TaskListView; @@ -40,6 +41,7 @@ public class TaskHistoryTest extends TestCase { protected Task task2 = null; protected Task task3 = null; protected Task task4 = null; + protected Task task5 = null; protected void setUp() throws Exception { super.setUp(); @@ -62,11 +64,13 @@ public class TaskHistoryTest extends TestCase { task2 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 2", true); task3 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 3", true); task4 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 4", true); + task5 = new Task(MylarTasklistPlugin.getTaskListManager().genUniqueTaskId(), "task 5", true); manager.addRootTask(task1); manager.addRootTask(task2); manager.addRootTask(task3); manager.addRootTask(task4); + manager.addRootTask(task5); } @@ -76,19 +80,19 @@ public class TaskHistoryTest extends TestCase { } /** - * Tests the next task and previous task navigation + * Tests the next task and previous task navigation. */ public void testBasicHistoryNavigation(){ (new TaskActivateAction(task1)).run(); - taskView.addTaskToHistory(task1); //Simulate clicking on it rather than navigating next or previous + taskView.addTaskToHistory(task1); (new TaskActivateAction(task2)).run(); taskView.addTaskToHistory(task2); (new TaskActivateAction(task3)).run(); - taskView.addTaskToHistory(task3); + taskView.addTaskToHistory(task3); assertTrue(task3.isActive()); assertFalse(task2.isActive()); - + taskView.getPreviousTaskAction().run(); assertTrue(task2.isActive()); @@ -189,6 +193,13 @@ public class TaskHistoryTest extends TestCase { assertTrue(prevHistoryList.get(prevHistoryList.size() - 2) == task2); assertTrue(prevHistoryList.get(prevHistoryList.size() - 3) == task1); + //Check that a deactivated task appears first on the history list + (new TaskActivateAction(task5)).run(); + (new TaskDeactivateAction(task5, taskView)).run(); + taskView.addTaskToHistory(task5); + prevHistoryList = taskHistory.getPreviousTasks(); + assertTrue(prevHistoryList.get(prevHistoryList.size() - 1) == task5); + } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java index 3f64ece49..800f8f9d6 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java @@ -128,11 +128,17 @@ public class TaskActivationHistory { */ public List<ITask> getPreviousTasks(){ try { - if (!persistentHistoryLoaded){ - loadPersistentHistory(); - persistentHistoryLoaded = true; + + if(!hasPrevious()){ + return new ArrayList<ITask>(); + } + + if(history.get(currentIndex).isActive()){ + return history.subList(0, currentIndex); + } + else{ + return history.subList(0, currentIndex + 1); } - return history.subList(0, currentIndex); } catch (RuntimeException e) { MylarPlugin.fail(e, "could not get previous tasks from history", false); return new ArrayList<ITask>(); |