From f4827c954e9d5417f575aa220c325fe80750699b Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Tue, 2 Apr 2013 13:36:26 -0700 Subject: [PATCH] Enhancements to reminder control, hide until control, timer control, due date control, and assignment control --- .../astrid/actfm/EditPeopleControlSet.java | 6 ++- .../astrid/timers/TimerControlSet.java | 43 ++++++++++++++++++- astrid/res/values/strings-core.xml | 13 +++++- .../todoroo/astrid/ui/DeadlineControlSet.java | 9 +++- .../astrid/ui/HideUntilControlSet.java | 13 +++++- .../todoroo/astrid/ui/ReminderControlSet.java | 3 ++ 6 files changed, 80 insertions(+), 7 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java b/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java index 7cdc11c76..925cd9d7f 100644 --- a/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/actfm/EditPeopleControlSet.java @@ -794,14 +794,16 @@ public class EditPeopleControlSet extends PopupControlSet { @Override protected void refreshDisplayView() { + String displayString; if (!TextUtils.isEmpty(assignedCustom.getText())) { - assignedDisplay.setText(assignedCustom.getText()); + displayString = activity.getString(R.string.TEA_assigned_to, assignedCustom.getText()); } else { AssignedToUser user = (AssignedToUser) assignedList.getAdapter().getItem(assignedList.getCheckedItemPosition()); if (user == null) user = (AssignedToUser) assignedList.getAdapter().getItem(0); - assignedDisplay.setText(user.toString()); + displayString = activity.getString(R.string.TEA_assigned_to, user.toString()); } + assignedDisplay.setText(displayString); } @Override diff --git a/astrid/plugin-src/com/todoroo/astrid/timers/TimerControlSet.java b/astrid/plugin-src/com/todoroo/astrid/timers/TimerControlSet.java index 5e1edfd57..213b91943 100644 --- a/astrid/plugin-src/com/todoroo/astrid/timers/TimerControlSet.java +++ b/astrid/plugin-src/com/todoroo/astrid/timers/TimerControlSet.java @@ -6,7 +6,10 @@ package com.todoroo.astrid.timers; import android.app.Activity; +import android.text.TextUtils; +import android.text.format.DateUtils; import android.view.View; +import android.widget.TextView; import com.timsu.astrid.R; import com.todoroo.andlib.data.Property.IntegerProperty; @@ -24,11 +27,16 @@ import com.todoroo.astrid.ui.TimeDurationControlSet; */ public class TimerControlSet extends PopupControlSet implements TimerActionListener { - TaskEditControlSet estimated, elapsed; + TimeDurationTaskEditControlSet estimated, elapsed; + private final TextView displayEdit; public TimerControlSet(final Activity activity, int viewLayout, int displayViewLayout, int title) { super(activity, viewLayout, displayViewLayout, title); + displayEdit = (TextView) getDisplayView().findViewById(R.id.display_row_edit); + displayEdit.setText(R.string.TEA_timer_controls); + displayEdit.setTextColor(unsetColor); + estimated = new TimeDurationTaskEditControlSet(activity, getView(), Task.ESTIMATED_SECONDS, R.id.estimatedDuration, 0, R.string.DLG_hour_minutes ); @@ -92,11 +100,42 @@ public class TimerControlSet extends PopupControlSet implements TimerActionListe task.setValue(property, controlSet.getTimeDurationInSeconds()); return null; } + + public String getDisplayString() { + int seconds = controlSet.getTimeDurationInSeconds(); + if (seconds > 0) + return DateUtils.formatElapsedTime(controlSet.getTimeDurationInSeconds()); + return null; + } } @Override protected void refreshDisplayView() { - // Nothing to do here yet + String est = estimated.getDisplayString(); + if (!TextUtils.isEmpty(est)) + est = activity.getString(R.string.TEA_timer_est, est); + String elap = elapsed.getDisplayString(); + if (!TextUtils.isEmpty(elap)) + elap = activity.getString(R.string.TEA_timer_elap, elap); + + String toDisplay; + + if (!TextUtils.isEmpty(est) && !TextUtils.isEmpty(elap)) + toDisplay = est + ", " + elap; //$NON-NLS-1$ + else if (!TextUtils.isEmpty(est)) + toDisplay = est; + else if (!TextUtils.isEmpty(elap)) + toDisplay = elap; + else + toDisplay = null; + + if (!TextUtils.isEmpty(toDisplay)) { + displayEdit.setText(toDisplay); + displayEdit.setTextColor(themeColor); + } else { + displayEdit.setText(R.string.TEA_timer_controls); + displayEdit.setTextColor(unsetColor); + } } @Override diff --git a/astrid/res/values/strings-core.xml b/astrid/res/values/strings-core.xml index 1a94f473d..b441eee0f 100644 --- a/astrid/res/values/strings-core.xml +++ b/astrid/res/values/strings-core.xml @@ -321,7 +321,11 @@ Priority - + + Set due date + + + Assigned to %s At specific time? @@ -331,6 +335,9 @@ Hide until + + + Hide until %s Task will be hidden until %s @@ -386,6 +393,10 @@ Ideas + Est. %s + + Elapsed %s + No date diff --git a/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java b/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java index c490ca9e5..4815d28f7 100644 --- a/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java +++ b/astrid/src/com/todoroo/astrid/ui/DeadlineControlSet.java @@ -52,7 +52,14 @@ public class DeadlineControlSet extends PopupControlSet { } } TextView dateDisplay = (TextView) getDisplayView().findViewById(R.id.display_row_edit); - dateDisplay.setText(displayString); + if (TextUtils.isEmpty(displayString)) { + dateDisplay.setText(R.string.TEA_deadline_hint); + dateDisplay.setTextColor(unsetColor); + } else { + dateDisplay.setText(displayString); + dateDisplay.setTextColor(themeColor); + } + } @Override diff --git a/astrid/src/com/todoroo/astrid/ui/HideUntilControlSet.java b/astrid/src/com/todoroo/astrid/ui/HideUntilControlSet.java index d2c80b772..0f7a8d789 100644 --- a/astrid/src/com/todoroo/astrid/ui/HideUntilControlSet.java +++ b/astrid/src/com/todoroo/astrid/ui/HideUntilControlSet.java @@ -193,7 +193,18 @@ public class HideUntilControlSet extends PopupControlSet implements OnItemSelect @Override protected void refreshDisplayView() { TextView auxDisplay = (TextView) getDisplayView().findViewById(R.id.display_row_edit); - auxDisplay.setText(adapter.getItem(selection).toString()); + HideUntilValue value = adapter.getItem(selection); + if (value.setting == Task.HIDE_UNTIL_NONE) { + auxDisplay.setText(R.string.TEA_hideUntil_label); + auxDisplay.setTextColor(unsetColor); + } else { + String display = value.toString(); + if (value.setting != Task.HIDE_UNTIL_SPECIFIC_DAY && value.setting != Task.HIDE_UNTIL_SPECIFIC_DAY_TIME) + display = display.toLowerCase(); + + auxDisplay.setText(activity.getString(R.string.TEA_hideUntil_display, display)); + auxDisplay.setTextColor(themeColor); + } } @Override diff --git a/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java b/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java index eb29de1a1..aaa40be86 100644 --- a/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java +++ b/astrid/src/com/todoroo/astrid/ui/ReminderControlSet.java @@ -42,6 +42,9 @@ public class ReminderControlSet extends PopupControlSet { public ReminderControlSet(Activity activity, int viewLayout, int displayViewLayout) { super(activity, viewLayout, displayViewLayout, R.string.TEA_reminders_group_label); extraViews = new ArrayList(); + TextView label = (TextView) getDisplayView().findViewById(R.id.display_row_edit); + label.setText(R.string.TEA_reminders_group_label); + label.setTextColor(unsetColor); } public void addViewToBody(View v) {