diff options
author | mkersten | 2009-07-23 22:43:37 +0000 |
---|---|---|
committer | mkersten | 2009-07-23 22:43:37 +0000 |
commit | d4b8297b2d5da0906d0b1d03847eed362786b786 (patch) | |
tree | 39350ca4784250d2455e136c18f2f735246b79a4 /org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/ScheduleTaskMenuContributor.java | |
parent | 692fbb5a3cc183ddff5cc17790e3bfcd26fa50b3 (diff) | |
download | org.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.java | 19 |
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; + } } |