Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkersten2005-10-19 02:07:57 +0000
committermkersten2005-10-19 02:07:57 +0000
commit393e07d21b9a71485c893d1cd715062526b3d9a8 (patch)
tree9281a21ad0159dfd2c2b836ee0388b71c58ce5dc
parent8cecfd6ea54981b5c61bd784d6082059b46406f7 (diff)
downloadorg.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
-rw-r--r--org.eclipse.mylyn.tasks.tests/src/org/eclipse/mylyn/tasklist/tests/TaskHistoryTest.java19
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasklist/ui/views/TaskActivationHistory.java14
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>();

Back to the top