Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormkersten2009-07-23 22:43:37 +0000
committermkersten2009-07-23 22:43:37 +0000
commitd4b8297b2d5da0906d0b1d03847eed362786b786 (patch)
tree39350ca4784250d2455e136c18f2f735246b79a4 /org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduleTaskMenuContributor.java
parent692fbb5a3cc183ddff5cc17790e3bfcd26fa50b3 (diff)
downloadorg.eclipse.mylyn.tasks-d4b8297b2d5da0906d0b1d03847eed362786b786.tar.gz
org.eclipse.mylyn.tasks-d4b8297b2d5da0906d0b1d03847eed362786b786.tar.xz
org.eclipse.mylyn.tasks-d4b8297b2d5da0906d0b1d03847eed362786b786.zip
RESOLVED - bug 284511: make the schedule button reflect the schedule state
https://bugs.eclipse.org/bugs/show_bug.cgi?id=284511
Diffstat (limited to 'org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduleTaskMenuContributor.java')
-rw-r--r--org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduleTaskMenuContributor.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduleTaskMenuContributor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduleTaskMenuContributor.java
index 1533ed233..db7f5d702 100644
--- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduleTaskMenuContributor.java
+++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduleTaskMenuContributor.java
@@ -27,6 +27,7 @@ import org.eclipse.mylyn.internal.tasks.core.AbstractTask;
import org.eclipse.mylyn.internal.tasks.core.DateRange;
import org.eclipse.mylyn.internal.tasks.core.TaskActivityUtil;
import org.eclipse.mylyn.internal.tasks.core.WeekDateRange;
+import org.eclipse.mylyn.internal.tasks.ui.actions.TaskEditorScheduleAction;
import org.eclipse.mylyn.tasks.core.IRepositoryElement;
import org.eclipse.mylyn.tasks.core.ITask;
import org.eclipse.ui.PlatformUI;
@@ -39,6 +40,8 @@ public class ScheduleTaskMenuContributor implements IDynamicSubMenuContributor {
private AbstractTask singleTaskSelection;
+ private TaskEditorScheduleAction scheduleAction;
+
private final List<IRepositoryElement> taskListElementsToSchedule = new ArrayList<IRepositoryElement>();
public MenuManager getSubMenuManager(final List<IRepositoryElement> selectedElements) {
@@ -112,9 +115,7 @@ public class ScheduleTaskMenuContributor implements IDynamicSubMenuContributor {
Action action = createDateSelectionAction(week, CommonImages.SCHEDULE_WEEK);
subMenuManager.add(action);
// Special case: This Week holds previous weeks' scheduled tasks
- if (singleTaskSelection != null && singleTaskSelection.getScheduledForDate() != null
- && singleTaskSelection.getScheduledForDate() instanceof WeekDateRange
- && singleTaskSelection.getScheduledForDate().isBefore(week)) {
+ if (isThisWeek(singleTaskSelection)) {
// Tasks scheduled for 'someday' float into this week
action.setChecked(true);
}
@@ -197,6 +198,12 @@ public class ScheduleTaskMenuContributor implements IDynamicSubMenuContributor {
return subMenuManager;
}
+ private boolean isThisWeek(AbstractTask task) {
+ return task != null && task.getScheduledForDate() != null
+ && task.getScheduledForDate() instanceof WeekDateRange
+ && task.getScheduledForDate().isBefore(TaskActivityUtil.getCurrentWeek());
+ }
+
private boolean selectionIncludesCompletedTasks() {
if (singleTaskSelection instanceof AbstractTask) {
if ((singleTaskSelection).isCompleted()) {
@@ -254,6 +261,9 @@ public class ScheduleTaskMenuContributor implements IDynamicSubMenuContributor {
} else {
TasksUiPlugin.getTaskActivityManager().setScheduledFor(task, null);
}
+ if (scheduleAction != null && singleTaskSelection != null) {
+ scheduleAction.updateImageDescriptor(singleTaskSelection);
+ }
}
}
}
@@ -269,4 +279,7 @@ public class ScheduleTaskMenuContributor implements IDynamicSubMenuContributor {
return TasksUiPlugin.getTaskActivityManager().isPastReminder(task);
}
+ public void setScheduleAction(TaskEditorScheduleAction scheduleAction) {
+ this.scheduleAction = scheduleAction;
+ }
}

Back to the top