Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/Task.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/Task.java27
1 files changed, 21 insertions, 6 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/Task.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/Task.java
index 3948f1331..ae5f8b771 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/Task.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/tasks/Task.java
@@ -177,9 +177,10 @@ public class Task implements ITask {
* Refreshes the tasklist viewer.
*/
public void notifyTaskDataChange() {
+ final Task task = this;
Workbench.getInstance().getDisplay().asyncExec(new Runnable() {
public void run() {
- if (TaskListView.getDefault() != null) TaskListView.getDefault().notifyTaskDataChanged();
+ if (TaskListView.getDefault() != null) TaskListView.getDefault().notifyTaskDataChanged(task);
}
});
}
@@ -304,16 +305,16 @@ public class Task implements ITask {
return complete;
}
- public boolean hasCompletedSubTasks() {
- return findCompletedSubtask(getChildren());
+ public boolean hasCompletedSubTasks(boolean completed) {
+ return findCompletedSubtask(getChildren(), completed);
}
- private boolean findCompletedSubtask(List<ITask> subtasks) {
+ private boolean findCompletedSubtask(List<ITask> subtasks, boolean completed) {
for(ITask t : subtasks) {
- if (t.isCompleted()) {
+ if (t.isCompleted() == completed) {
return true;
}
- findCompletedSubtask(t.getChildren());
+ findCompletedSubtask(t.getChildren(), completed);
}
return false;
}
@@ -349,4 +350,18 @@ public class Task implements ITask {
}
return maxHandle;
}
+
+ public boolean hasSubTaskWithPriority(String priority) {
+ return findSubTaskWithPriority(getChildren(), priority);
+ }
+
+ private boolean findSubTaskWithPriority(List<ITask> subtasks, String priority) {
+ for(ITask t : subtasks) {
+ if (t.getPriority().equals(priority)) {
+ return true;
+ }
+ findSubTaskWithPriority(t.getChildren(), priority);
+ }
+ return false;
+ }
}

Back to the top