Rearranged some of the control sets in the edit page, fixed the dialog popup widths

pull/14/head
Sam Bosley 13 years ago
parent 418b3cf9f3
commit 016ef6b5f8

@ -3,7 +3,7 @@
android:id="@+id/edit_dlg_ok"
android:layout_width="150dip"
android:layout_height="45dip"
android:layout_marginTop="10dip"
android:layout_marginTop="5dip"
android:layout_marginBottom="5dip"
android:layout_weight="1"
android:layout_gravity="center_horizontal"

@ -13,12 +13,12 @@
android:gravity="center_vertical">
<ImageView
style="@style/EditRowImage"
android:src="@drawable/icn_edit_reminders"/>
android:src="@drawable/icn_edit_when"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dip"
android:text="@string/TEA_date_and_time"
android:text="@string/TEA_when_header_label"
style="@style/TextAppearance.GEN_EditLabel.DLG_EditLabel" />
<TextView
android:id="@+id/deadline_display"

@ -3,13 +3,13 @@
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="320dip"
android:layout_weight="100"
android:paddingLeft="10dip"
android:paddingRight="10dip"
android:paddingTop="5dip"
android:paddingBottom="5dip">
<LinearLayout
android:id="@+id/reminders_body"
android:id="@+id/datetime_body"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
@ -21,6 +21,7 @@
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dip"
android:orientation="horizontal"
android:layout_weight="1">
<LinearLayout
@ -39,7 +40,13 @@
android:layout_marginLeft="5dip"
android:layout_weight="1"
android:orientation="vertical"/>
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:padding="5dip"
style="@style/TEA_Separator" />
</LinearLayout>
</ScrollView>
</merge>

@ -120,52 +120,6 @@
android:layout_height="fill_parent"
android:orientation="vertical">
</LinearLayout>
<LinearLayout
android:id="@+id/when_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/when_header"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:gravity="center_vertical">
<LinearLayout
android:id="@+id/when_shortcut_container"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="center_vertical">
<ImageView
android:id="@+id/when_image"
style="@style/EditRowImage"
android:src="@drawable/icn_edit_when"/>
<TextView
android:id="@+id/when_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/TextAppearance.GEN_EditLabel"
android:text="@string/TEA_when_header_label"/>
</LinearLayout>
<TextView
android:id="@+id/aux_date"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="100"
android:gravity="right"
style="@style/TextAppearance.EditRowDisplay"/>
<include layout="@layout/task_edit_arrow"/>
</LinearLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1px"
android:padding="5dip"
style="@style/TEA_Separator" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"

@ -275,7 +275,7 @@
<string name="TEA_title_label">Title</string>
<!-- Task when label (note the <u> tags - be sure to leave those in when localizing! -->
<string name="TEA_when_header_label"><u>When</u></string>
<string name="TEA_when_header_label">When</string>
<!-- Task title hint (displayed when edit box is empty) -->
<string name="TEA_title_hint">Task Summary</string>

@ -93,7 +93,6 @@ import com.todoroo.astrid.ui.HideUntilControlSet;
import com.todoroo.astrid.ui.ImportanceControlSet;
import com.todoroo.astrid.ui.ReminderControlSet;
import com.todoroo.astrid.voice.VoiceInputAssistant;
import com.todoroo.astrid.welcome.HelpInfoPopover;
/**
* This activity is responsible for creating new tasks and editing existing
@ -256,8 +255,6 @@ public final class TaskEditActivity extends Activity {
LinearLayout basicControls = (LinearLayout) findViewById(R.id.basic_controls);
LinearLayout whenDialogView = (LinearLayout) LayoutInflater.from(this).inflate(
R.layout.task_edit_when_controls, null);
LinearLayout whenControls = (LinearLayout) whenDialogView.findViewById(R.id.when_controls);
LinearLayout whenHeader = (LinearLayout) findViewById(R.id.when_header);
LinearLayout moreControls = (LinearLayout) findViewById(R.id.more_controls);
constructWhenDialog(whenDialogView);
@ -282,31 +279,21 @@ public final class TaskEditActivity extends Activity {
controlSetMap.put(getString(R.string.TEA_ctrl_who_pref),
peopleControlSet);
DeadlineControlSet deadlineControl = new DeadlineControlSet(
TaskEditActivity.this, R.layout.control_set_deadline,
R.layout.control_set_deadline_display, whenHeader,
R.id.aux_date, R.id.when_shortcut_container, R.id.when_label,
R.id.when_image);
controls.add(deadlineControl);
whenControls.addView(deadlineControl.getDisplayView());
RepeatControlSet repeatControls = new RepeatControlSet(
TaskEditActivity.this, R.layout.control_set_repeat,
R.layout.control_set_repeat_display, R.string.repeat_enabled);
controls.add(repeatControls);
whenControls.addView(repeatControls.getDisplayView());
GCalControlSet gcalControl = new GCalControlSet(TaskEditActivity.this,
R.layout.control_set_gcal, R.layout.control_set_gcal_display,
R.string.gcal_TEA_addToCalendar_label);
controls.add(gcalControl);
whenControls.addView(gcalControl.getDisplayView());
hideUntilControls = new HideUntilControlSet(TaskEditActivity.this,
R.layout.control_set_hide, R.layout.control_set_hide_display,
R.string.hide_until_prompt);
controls.add(hideUntilControls);
whenControls.addView(hideUntilControls.getDisplayView());
DeadlineControlSet deadlineControl = new DeadlineControlSet(
TaskEditActivity.this, R.layout.control_set_deadline,
R.layout.control_set_deadline_display, repeatControls.getDisplayView(), gcalControl.getDisplayView());
controls.add(deadlineControl);
controlSetMap.put(getString(R.string.TEA_ctrl_when_pref), deadlineControl);
ImportanceControlSet importanceControl = new ImportanceControlSet(
TaskEditActivity.this, R.layout.control_set_importance);
@ -337,6 +324,12 @@ public final class TaskEditActivity extends Activity {
controlSetMap.put(getString(R.string.TEA_ctrl_reminders_pref),
reminderControl);
hideUntilControls = new HideUntilControlSet(TaskEditActivity.this,
R.layout.control_set_hide, R.layout.control_set_hide_display,
R.string.hide_until_prompt);
controls.add(hideUntilControls);
reminderControl.addViewToBody(hideUntilControls.getDisplayView());
TimerControlSet timerControl = new TimerControlSet(
TaskEditActivity.this, R.layout.control_set_timers,
R.layout.control_set_timers_extras_display,
@ -375,8 +368,6 @@ public final class TaskEditActivity extends Activity {
else
itemOrder = getResources().getStringArray(R.array.TEA_control_sets_prefs);
String moreSectionTrigger = getString(R.string.TEA_ctrl_more_pref);
String whenViewDescriptor = getString(R.string.TEA_ctrl_when_pref);
View whenView = findViewById(R.id.when_container);
String shareViewDescriptor = getString(R.string.TEA_ctrl_share_pref);
LinearLayout section = basicControls;
for (int i = 0; i < itemOrder.length; i++) {
@ -387,11 +378,7 @@ public final class TaskEditActivity extends Activity {
TaskEditControlSet curr = controlSetMap.get(item);
if (item.equals(shareViewDescriptor))
section.addView(peopleControlSet.getSharedWithRow());
else if (item.equals(whenViewDescriptor)) {
LinearLayout parent = (LinearLayout) whenView.getParent();
parent.removeView(whenView);
section.addView(whenView);
} else if (curr != null)
else if (curr != null)
section.addView(curr.getDisplayView());
}
}
@ -450,8 +437,6 @@ public final class TaskEditActivity extends Activity {
Button discardButtonGeneral = (Button) findViewById(R.id.discard);
discardButtonGeneral.setOnClickListener(mDiscardListener);
findViewById(R.id.when_header).setOnClickListener(mExpandWhenListener);
findViewById(R.id.more_header).setOnClickListener(mExpandMoreListener);
findViewById(R.id.activity).setOnClickListener(new View.OnClickListener() {
@ -475,32 +460,16 @@ public final class TaskEditActivity extends Activity {
dismissDialogButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showWhenShortcutHelp();
DialogUtilities.dismissDialog(TaskEditActivity.this, whenDialog);
}
});
whenDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
showWhenShortcutHelp();
}
});
DisplayMetrics metrics = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(metrics);
whenDialog.setTitle(R.string.TEA_when_dialog_title);
whenDialog.addContentView(whenDialogView, new LayoutParams(metrics.widthPixels - (int)(30 * metrics.density), LayoutParams.WRAP_CONTENT));
}
private void showWhenShortcutHelp() {
if (!Preferences.getBoolean(R.string.p_showed_when_shortcut, false)) {
Preferences.setBoolean(R.string.p_showed_when_shortcut, true);
Preferences.setBoolean(R.string.p_showed_when_row, true);
HelpInfoPopover.showPopover(this, findViewById(R.id.when_shortcut_container), R.string.help_popover_when_shortcut, null);
}
}
/**
* Initialize task edit page in the background
*

@ -1,53 +1,39 @@
package com.todoroo.astrid.ui;
import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.timsu.astrid.R;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.andlib.utility.DialogUtilities;
import com.todoroo.astrid.data.Task;
import com.todoroo.astrid.ui.DateAndTimePicker.OnDateChangedListener;
import com.todoroo.astrid.welcome.HelpInfoPopover;
public class DeadlineControlSet extends PopupControlSet {
private final DateAndTimePicker dateAndTimePicker;
private final TextView auxDisplay;
private View shortcutView;
public DeadlineControlSet(Activity activity, int viewLayout, int displayViewLayout, View extensionView, int auxDisplayId, int...dateShortcutViews) {
public DeadlineControlSet(Activity activity, int viewLayout, int displayViewLayout, View...extraViews) {
super(activity, viewLayout, displayViewLayout, 0);
dateAndTimePicker = (DateAndTimePicker) getView().findViewById(R.id.date_and_time);
auxDisplay = (TextView) extensionView.findViewById(auxDisplayId);
setUpListeners(dateShortcutViews);
}
private void setUpListeners(int[] dateShortcutViews) {
dateAndTimePicker.setOnDateChangedListener(new OnDateChangedListener() {
@Override
public void onDateChanged() {
refreshDisplayView();
}
});
LinearLayout body = (LinearLayout) getView().findViewById(R.id.datetime_body);
for (View v : extraViews) {
body.addView(v);
}
View.OnClickListener dateShortcutListener = new View.OnClickListener() {
Button okButton = (Button) LayoutInflater.from(activity).inflate(R.layout.control_dialog_ok, null);
okButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.show();
Preferences.setBoolean(R.string.p_showed_when_shortcut, true);
onOkClick();
DialogUtilities.dismissDialog(DeadlineControlSet.this.activity, DeadlineControlSet.this.dialog);
}
};
for (int i : dateShortcutViews) {
View v = activity.findViewById(i);
if (v != null) {
shortcutView = v;
v.setOnClickListener(dateShortcutListener);
}
}
});
body.addView(okButton);
}
@Override
@ -55,7 +41,6 @@ public class DeadlineControlSet extends PopupControlSet {
TextView dateDisplay = (TextView) getDisplayView().findViewById(R.id.deadline_display);
String toDisplay = dateAndTimePicker.getDisplayString(activity);
dateDisplay.setText(toDisplay);
auxDisplay.setText(toDisplay);
}
@Override
@ -71,35 +56,4 @@ public class DeadlineControlSet extends PopupControlSet {
task.setValue(Task.DUE_DATE, dueDate);
return null;
}
@Override
protected void onOkClick() {
super.onOkClick();
showHelp();
}
@Override
protected void onCancelClick() {
super.onCancelClick();
showHelp();
}
private void showHelp() {
if (!Preferences.getBoolean(R.string.p_showed_when_shortcut, false)) {
if (shortcutView != null) {
Preferences.setBoolean(R.string.p_showed_when_shortcut, true);
Preferences.setBoolean(R.string.p_showed_when_row, true);
HelpInfoPopover.showPopover(activity, shortcutView, R.string.help_popover_when_shortcut, null);
}
}
if (!Preferences.getBoolean(R.string.p_showed_when_row, false)) {
if (displayView != null) {
Preferences.setBoolean(R.string.p_showed_when_shortcut, true);
Preferences.setBoolean(R.string.p_showed_when_row, true);
HelpInfoPopover.showPopover(activity, activity.findViewById(R.id.when_container), R.string.help_popover_when_row, null);
}
}
}
}

@ -3,7 +3,6 @@ package com.todoroo.astrid.ui;
import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
@ -67,9 +66,7 @@ public abstract class PopupControlSet extends TaskEditControlSet {
else
d.setTitle(title);
View v = getView();
DisplayMetrics metrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
d.setContentView(v, new LayoutParams(metrics.widthPixels - (int)(30 * metrics.density), LayoutParams.WRAP_CONTENT));
d.setContentView(v, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
Button dismiss = (Button) v.findViewById(R.id.edit_dlg_ok);
if (dismiss != null) {
dismiss.setOnClickListener(new OnClickListener() {
@ -80,6 +77,11 @@ public abstract class PopupControlSet extends TaskEditControlSet {
}
});
}
LayoutParams params = d.getWindow().getAttributes();
params.width = LayoutParams.FILL_PARENT;
params.height = LayoutParams.WRAP_CONTENT;
d.getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
d.setOnCancelListener(cancelListener);
d.setOwnerActivity(PopupControlSet.this.activity);
return d;

@ -1,6 +1,7 @@
package com.todoroo.astrid.ui;
import android.app.Activity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.LinearLayout;
@ -19,6 +20,7 @@ import com.todoroo.astrid.data.Task;
public class ReminderControlSet extends PopupControlSet {
private final CheckBox during, after;
private final Spinner mode;
private final LinearLayout remindersBody;
private final RandomReminderControlSet randomControlSet;
private final AlarmControlSet alarmControl;
@ -32,8 +34,8 @@ public class ReminderControlSet extends PopupControlSet {
randomControlSet = new RandomReminderControlSet(activity, getView(), -1);
alarmControl = new AlarmControlSet(activity, R.layout.control_set_alarms);
LinearLayout body = (LinearLayout) getView().findViewById(R.id.reminders_body);
body.addView(alarmControl.getView());
remindersBody = (LinearLayout) getView().findViewById(R.id.reminders_body);
remindersBody.addView(alarmControl.getView());
String[] list = new String[] {
activity.getString(R.string.TEA_reminder_mode_once),
@ -51,6 +53,10 @@ public class ReminderControlSet extends PopupControlSet {
});
}
public void addViewToBody(View v) {
remindersBody.addView(v, 0);
}
public void setValue(int flags) {
during.setChecked((flags & Task.NOTIFY_AT_DEADLINE) > 0);
after.setChecked((flags &

Loading…
Cancel
Save