Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaxsun McCarthy Huggan2016-07-26 18:56:44 +0000
committerJaxsun McCarthy Huggan2016-08-17 21:05:58 +0000
commit9a4095c743725aa47d7a2ec6cc5ec50437a11291 (patch)
tree7816e10e3d58c6b9381bb44f0924f45d47055955 /org.eclipse.mylyn.tasks.ui
parent65e19007e3c45e45a542c7f253fa55ed59d7632f (diff)
downloadorg.eclipse.mylyn.tasks-9a4095c743725aa47d7a2ec6cc5ec50437a11291.tar.gz
org.eclipse.mylyn.tasks-9a4095c743725aa47d7a2ec6cc5ec50437a11291.tar.xz
org.eclipse.mylyn.tasks-9a4095c743725aa47d7a2ec6cc5ec50437a11291.zip
319889: TaskListInterestSorter uses configured sort criteria as backup
Change-Id: Iaabefc6ca4d928a8bb60beba3fedff96c06ddc88 Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=319889
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/FocusTaskListAction.java14
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java50
2 files changed, 35 insertions, 29 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/FocusTaskListAction.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/FocusTaskListAction.java
index dc26b9835..0a549ce58 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/FocusTaskListAction.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/actions/FocusTaskListAction.java
@@ -112,9 +112,9 @@ public class FocusTaskListAction implements IFilteredTreeListener, IViewActionDe
taskListView.addFilter(taskListInterestFilter);
}
// Setting sorter causes root refresh
+ taskListInterestSorter.setconfiguredSorter(previousSorter);
taskListView.getViewer().setSorter(taskListInterestSorter);
taskListView.getViewer().expandAll();
-// taskListView.selectedAndFocusTask(TasksUiPlugin.getTaskList().getActiveTask());
showProgressBar(true);
} finally {
@@ -163,14 +163,12 @@ public class FocusTaskListAction implements IFilteredTreeListener, IViewActionDe
}
if (!taskListView.isFocusedMode()) {
- TasksUiPlugin.getDefault()
- .getPreferenceStore()
- .setValue(ITasksUiPreferenceConstants.TASK_LIST_FOCUSED, true);
+ TasksUiPlugin.getDefault().getPreferenceStore().setValue(ITasksUiPreferenceConstants.TASK_LIST_FOCUSED,
+ true);
installInterestFilter();
} else {
- TasksUiPlugin.getDefault()
- .getPreferenceStore()
- .setValue(ITasksUiPreferenceConstants.TASK_LIST_FOCUSED, false);
+ TasksUiPlugin.getDefault().getPreferenceStore().setValue(ITasksUiPreferenceConstants.TASK_LIST_FOCUSED,
+ false);
uninstallInterestFilter();
}
}
@@ -184,7 +182,7 @@ public class FocusTaskListAction implements IFilteredTreeListener, IViewActionDe
}
public void dispose() {
- // ignore
+ // ignore
}
}
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java
index 461e50b38..3cee628e3 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/views/TaskListInterestSorter.java
@@ -31,9 +31,14 @@ public class TaskListInterestSorter extends ViewerSorter {
private final TaskKeyComparator taskKeyComparator = new TaskKeyComparator();
+ private ViewerSorter configuredSorter;
+
+ public void setconfiguredSorter(ViewerSorter configuredSorter) {
+ this.configuredSorter = configuredSorter;
+ }
+
@Override
public int compare(Viewer compareViewer, Object o1, Object o2) {
-
if (o1 instanceof ITaskContainer && o2 instanceof UnmatchedTaskContainer) {
return -1;
} else if (o2 instanceof ITaskContainer && o1 instanceof UnmatchedTaskContainer) {
@@ -61,8 +66,8 @@ public class TaskListInterestSorter extends ViewerSorter {
if (!(o1 instanceof ITask)) {//o1 instanceof AbstractTaskContainer || o1 instanceof AbstractRepositoryQuery) {
if (!(o2 instanceof ITask)) {//o2 instanceof AbstractTaskContainer || o2 instanceof AbstractRepositoryQuery) {
- return ((IRepositoryElement) o1).getSummary().compareToIgnoreCase(
- ((IRepositoryElement) o2).getSummary());
+ return ((IRepositoryElement) o1).getSummary()
+ .compareToIgnoreCase(((IRepositoryElement) o2).getSummary());
} else {
return -1;
}
@@ -93,21 +98,24 @@ public class TaskListInterestSorter extends ViewerSorter {
int complete = compareCompleted(task1, task2);
if (complete != 0) {
return complete;
- } else {
- int due = compareDueDates(task1, task2);
- if (due != 0) {
- return due;
- } else {
- int today = compareScheduledDate(task1, task2);
- if (today == 0) {
- return comparePrioritiesAndKeys(element1, element2);
- } else {
- return today;
- }
- }
+ }
+
+ int due = compareDueDates(task1, task2);
+ if (due != 0) {
+ return due;
+ }
+
+ int today = compareScheduledDate(task1, task2);
+ if (today != 0) {
+ return today;
}
}
}
+
+ if (configuredSorter != null) {
+ return configuredSorter.compare(compareViewer, o1, o2);
+ }
+
return 0;
}
@@ -153,9 +161,9 @@ public class TaskListInterestSorter extends ViewerSorter {
return priority;
}
- int description = compareKeys(element1, element2);
- if (description != 0) {
- return description;
+ int key = compareKeys(element1, element2);
+ if (key != 0) {
+ return key;
}
return 0;
}
@@ -167,11 +175,11 @@ public class TaskListInterestSorter extends ViewerSorter {
private int comparePriorities(IRepositoryElement element1, IRepositoryElement element2) {
if (element1 instanceof AbstractTaskContainer && element2 instanceof AbstractTaskContainer) {
- return ((AbstractTaskContainer) element1).getPriority().compareTo(
- ((AbstractTaskContainer) element2).getPriority());
+ return ((AbstractTaskContainer) element1).getPriority()
+ .compareTo(((AbstractTaskContainer) element2).getPriority());
} else {
// TODO: consider implementing
- return -1;
+ return 0;
}
}

Back to the top