Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrelves2008-01-25 17:18:10 +0000
committerrelves2008-01-25 17:18:10 +0000
commit88e73172848afe181261a8177711014cec4d144d (patch)
tree70e391e370c525784cbc2bfd91a6c09afd66a753 /org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java
parent65b92d9b3eac6e3d32cb3257ee8b4b1fd42731df (diff)
downloadorg.eclipse.mylyn.tasks-88e73172848afe181261a8177711014cec4d144d.tar.gz
org.eclipse.mylyn.tasks-88e73172848afe181261a8177711014cec4d144d.tar.xz
org.eclipse.mylyn.tasks-88e73172848afe181261a8177711014cec4d144d.zip
NEW - bug 206566: improve the usability of scheduling and workweek focus and get rid of "red Mondays"
https://bugs.eclipse.org/bugs/show_bug.cgi?id=206566
Diffstat (limited to 'org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java')
-rw-r--r--org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java52
1 files changed, 43 insertions, 9 deletions
diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java
index 6ac5982a1..1ac90f082 100644
--- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java
+++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/TaskActivityManager.java
@@ -457,7 +457,13 @@ public class TaskActivityManager {
}
}
+
public void setScheduledFor(AbstractTask task, Date reminderDate) {
+ setScheduledFor(task, reminderDate, false);
+ }
+
+
+ public void setScheduledFor(AbstractTask task, Date reminderDate, boolean floating) {
// API-3.0: remove check
if (task == null)
return;
@@ -467,6 +473,7 @@ public class TaskActivityManager {
}
task.setScheduledForDate(reminderDate);
+ task.internalSetFloatingScheduledDate(floating);
if (reminderDate == null) {
removeScheduledTask(task);
} else {
@@ -574,6 +581,18 @@ public class TaskActivityManager {
}
return false;
}
+
+ public boolean isScheduledForNextWeek(AbstractTask task) {
+ if (task != null) {
+ Date reminder = task.getScheduledForDate();
+ if (reminder != null) {
+ Calendar time = TaskActivityUtil.getCalendar();
+ time.setTime(reminder);
+ return TaskActivityUtil.isNextWeek(time);
+ }
+ }
+ return false;
+ }
/**
* TODO: move to activity manager
@@ -592,19 +611,19 @@ public class TaskActivityManager {
// scheduledEndHour = TasksUiPlugin.getDefault().getPreferenceStore().getInt(
// TasksUiPreferenceConstants.PLANNING_ENDHOUR);
- Calendar pastStart = GregorianCalendar.getInstance();
+ Calendar pastStart = TaskActivityUtil.getCalendar();
pastStart.setTimeInMillis(0);
// pastStart.setFirstDayOfWeek(startDay);
// pastStart.setTime(startTime);
// pastStart.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_PAST_START);
-// snapToStartOfWeek(pastStart);
+// TaskActivityUtil.snapToStartOfWeek(pastStart);
GregorianCalendar pastEnd = new GregorianCalendar();
pastEnd.setFirstDayOfWeek(startDay);
pastEnd.setTime(startTime);
pastEnd.add(Calendar.WEEK_OF_YEAR, NUM_WEEKS_PAST_END);
TaskActivityUtil.snapEndOfWeek(pastEnd);
scheduledPast = new ScheduledTaskContainer(this, pastStart.getTime(), pastEnd.getTime(), DESCRIPTION_PAST);
- scheduleContainers.add(scheduledPast);
+ //scheduleContainers.add(scheduledPast);
scheduleWeekDays.clear();
for (int x = startDay; x < (startDay + 7); x++) {
@@ -661,16 +680,28 @@ public class TaskActivityManager {
scheduleContainers.add(day);
}
- GregorianCalendar currentBegin = new GregorianCalendar();
- currentBegin.setFirstDayOfWeek(startDay);
+
+ Calendar currentBegin = TaskActivityUtil.getCalendar();
currentBegin.setTime(startTime);
TaskActivityUtil.snapStartOfWorkWeek(currentBegin);
- GregorianCalendar currentEnd = new GregorianCalendar();
- currentEnd.setFirstDayOfWeek(startDay);
+ Calendar currentEnd = TaskActivityUtil.getCalendar();
currentEnd.setTime(startTime);
TaskActivityUtil.snapEndOfWeek(currentEnd);
scheduledThisWeek = new ScheduledTaskContainer(this, currentBegin, currentEnd, DESCRIPTION_THIS_WEEK);
- // dateRangeContainers.add(activityThisWeek);
+ scheduledThisWeek.setCaptureFloating(true);
+ //scheduleContainers.add(scheduledThisWeek);
+
+// GregorianCalendar currentBegin = new GregorianCalendar();
+// currentBegin.setFirstDayOfWeek(startDay);
+// currentBegin.setTime(startTime);
+// TaskActivityUtil.snapStartOfWorkWeek(currentBegin);
+// GregorianCalendar currentEnd = new GregorianCalendar();
+// currentEnd.setFirstDayOfWeek(startDay);
+// currentEnd.setTime(startTime);
+// TaskActivityUtil.snapEndOfWeek(currentEnd);
+// scheduledThisWeek = new ScheduledTaskContainer(this, currentBegin, currentEnd, DESCRIPTION_THIS_WEEK);
+// scheduledThisWeek.setCaptureFloating(true);
+// //scheduleContainers.add(scheduledThisWeek);
GregorianCalendar nextStart = new GregorianCalendar();
nextStart.setFirstDayOfWeek(startDay);
@@ -684,7 +715,9 @@ public class TaskActivityManager {
TaskActivityUtil.snapEndOfWeek(nextEnd);
scheduledNextWeek = new ScheduledTaskContainer(this, nextStart.getTime(), nextEnd.getTime(),
DESCRIPTION_NEXT_WEEK);
+ scheduledNextWeek.setCaptureFloating(true);
scheduleContainers.add(scheduledNextWeek);
+
GregorianCalendar futureStart = new GregorianCalendar();
futureStart.setFirstDayOfWeek(startDay);
@@ -698,6 +731,7 @@ public class TaskActivityManager {
TaskActivityUtil.snapEndOfWeek(futureEnd);
scheduledFuture = new ScheduledTaskContainer(this, futureStart.getTime(), futureEnd.getTime(),
DESCRIPTION_FUTURE);
+ scheduledFuture.setCaptureFloating(true);
scheduleContainers.add(scheduledFuture);
GregorianCalendar previousStart = new GregorianCalendar();
@@ -712,7 +746,7 @@ public class TaskActivityManager {
TaskActivityUtil.snapEndOfWeek(previousEnd);
scheduledPrevious = new ScheduledTaskContainer(this, previousStart.getTime(), previousEnd.getTime(),
DESCRIPTION_PREVIOUS_WEEK);
- scheduleContainers.add(scheduledPrevious);
+ //scheduleContainers.add(scheduledPrevious);
}
public List<ScheduledTaskContainer> getDateRanges() {

Back to the top