Add clear button to repeat control set

pull/384/head
Alex Baker 9 years ago
parent e14eb786bc
commit e545c7fa32

@ -8,7 +8,6 @@ package com.todoroo.astrid.repeats;
import android.app.Activity;
import android.app.Dialog;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
@ -18,6 +17,7 @@ import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
@ -77,6 +77,7 @@ public class RepeatControlSet extends PopupControlSet {
private Spinner interval;
private Spinner type;
private Spinner repeatUntil;
private ImageView clear;
private ArrayAdapter<String> repeatUntilAdapter;
private final List<String> repeatUntilOptions = new ArrayList<>();
private LinearLayout daysOfWeekContainer;
@ -87,7 +88,6 @@ public class RepeatControlSet extends PopupControlSet {
private int intervalValue;
private long repeatUntilValue;
private final List<RepeatChangedListener> listeners = new LinkedList<>();
public interface RepeatChangedListener {
@ -98,6 +98,8 @@ public class RepeatControlSet extends PopupControlSet {
public RepeatControlSet(ActivityPreferences preferences, Activity activity, DialogBuilder dialogBuilder) {
super(preferences, activity, R.layout.control_set_repeat, R.layout.control_set_repeat_display, R.string.repeat_enabled, dialogBuilder);
clear = (ImageView) getView().findViewById(R.id.clear);
}
/** Set up the repeat value button */
@ -270,7 +272,18 @@ public class RepeatControlSet extends PopupControlSet {
repeatUntil.setAdapter(repeatUntilAdapter);
setRepeatValue(1);
setRepeatUntilValue(0);
clear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
doRepeat = false;
refreshDisplayView();
dialog.dismiss();
for (RepeatChangedListener l : listeners) {
l.repeatChanged(doRepeat);
}
}
});
// set up days of week
DateFormatSymbols dfs = new DateFormatSymbols();
Calendar calendar = Calendar.getInstance();
@ -404,9 +417,11 @@ public class RepeatControlSet extends PopupControlSet {
if (doRepeat) {
repeatDisplay.setText(getRepeatString());
repeatDisplay.setTextColor(themeColor);
clear.setVisibility(View.VISIBLE);
} else {
repeatDisplay.setTextColor(unsetColor);
repeatDisplay.setText(R.string.repeat_never);
clear.setVisibility(View.GONE);
}
}
@ -440,24 +455,6 @@ public class RepeatControlSet extends PopupControlSet {
return super.buildDialog(title, doRepeatButton, cancelListener);
}
@Override
protected void additionalDialogSetup(AlertDialog.Builder builder) {
super.additionalDialogSetup(builder);
builder.setNeutralButton(R.string.repeat_dont, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
doRepeat = false;
refreshDisplayView();
dialog.dismiss();
for (RepeatChangedListener l : listeners) {
l.repeatChanged(doRepeat);
}
}
});
}
private void updateRepeatUntilOptions() {
repeatUntilOptions.clear();
if (repeatUntilValue > 0) {

@ -84,8 +84,6 @@ public abstract class PopupControlSet extends TaskEditControlSetBase {
}
})
.setOnCancelListener(cancelClickListener);
additionalDialogSetup(builder);
dialog = builder.show();
return dialog;
}
@ -102,11 +100,6 @@ public abstract class PopupControlSet extends TaskEditControlSetBase {
};
}
protected void additionalDialogSetup(AlertDialog.Builder builder) {
// Will be called after dialog is set up.
// Subclasses can override
}
protected void onOkClick() {
refreshDisplayView();
}

@ -1,15 +1,30 @@
<?xml version="1.0" encoding="utf-8"?><!--
** Copyright (c) 2012 Todoroo Inc
**
** See the file "LICENSE" for the full license governing this code.
** See the file "LICENSE" for the full license governing this code.
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/display_row_edit"
android:layout_width="match_parent"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:gravity="start"
android:textColor="?attr/asThemeTextColor"
android:textSize="@dimen/task_edit_text_size"
android:paddingRight="@dimen/task_edit_drawable_padding_left_right"
android:paddingEnd="@dimen/task_edit_drawable_padding_left_right" />
android:orientation="horizontal">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="100">
<TextView
android:id="@+id/display_row_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:gravity="start"
android:textColor="?attr/asThemeTextColor"
android:textSize="@dimen/task_edit_text_size" />
</LinearLayout>
<include layout="@layout/control_set_clear_button" />
</LinearLayout>

@ -148,7 +148,6 @@
<item>شهري</item>
<item>مرتين في الشهر</item>
</string-array>
<string name="repeat_dont">لا تكرر</string>
<string-array name="repeat_interval">
<item>أيام</item>
<item>أسابيع</item>

@ -260,7 +260,6 @@
<string name="repeat_every">Всеки %d</string>
<string name="repeat_interval_prompt">Интервал на повторение</string>
<string name="repeat_never">Без повторение</string>
<string name="repeat_dont">Не повтаряй</string>
<string-array name="repeat_interval">
<item>Ден(дни)</item>
<item>Седмица(и)</item>

@ -225,7 +225,6 @@
<string name="repeat_every">Každý %d</string>
<string name="repeat_interval_prompt">Opakovací interval</string>
<string name="repeat_never">Bez opakování</string>
<string name="repeat_dont">Neopakujte</string>
<string-array name="repeat_interval">
<item>Dnů</item>
<item>Týdnů</item>

@ -124,7 +124,6 @@
<string name="repeat_every">Hver %d</string>
<string name="repeat_interval_prompt">Interval for gentagelse</string>
<string name="repeat_never">Gentages ikke</string>
<string name="repeat_dont">Gentag ikke</string>
<string name="repeat_detail_duedate">Hver %s</string>
<string name="repeat_detail_duedate_until">Hver %1$s\nindtil %2$s</string>
<string name="repeat_forever">Gentag uendeligt</string>

@ -240,7 +240,6 @@
<string name="repeat_every">Jeden %d</string>
<string name="repeat_interval_prompt">Wiederholungsintervall</string>
<string name="repeat_never">Nicht wiederholen</string>
<string name="repeat_dont">Nicht wiederholen</string>
<string-array name="repeat_interval">
<item>Tag(e)</item>
<item>Woche(n)</item>

@ -228,7 +228,6 @@
<string name="repeat_every">Κάθε %d</string>
<string name="repeat_interval_prompt">Διάστημα επανάληψης</string>
<string name="repeat_never">Μή επαναλαμβανόμενα</string>
<string name="repeat_dont">Να μήν επαναληφθεί</string>
<string-array name="repeat_interval">
<item>Μέρα(ες)</item>
<item>Εβδομαδα(ές)</item>

@ -250,7 +250,6 @@
<string name="repeat_every">Cada %d</string>
<string name="repeat_interval_prompt">Intervalo de repetición</string>
<string name="repeat_never">Sin repetir</string>
<string name="repeat_dont">No repetir</string>
<string-array name="repeat_interval">
<item>Día(s)</item>
<item>Semana(s)</item>

@ -181,7 +181,6 @@
<string name="repeat_enabled">تکرارها</string>
<string name="repeat_interval_prompt">دوره تکرار</string>
<string name="repeat_never">بدون تکرار</string>
<string name="repeat_dont">تکرار نشود</string>
<string-array name="repeat_interval">
<item>روز(ها)</item>
<item>هفته(ها)</item>

@ -58,7 +58,6 @@
<string name="repeat_every">Toista %d</string>
<string name="repeat_interval_prompt">Toistoväli</string>
<string name="repeat_never">Ei toistuva</string>
<string name="repeat_dont">Älä toista</string>
<string name="repeat_detail_duedate">Joka %s</string>
<string name="repeat_detail_duedate_until">Joka %1$s\nkunnes %2$s</string>
<string name="repeat_forever">Toista loputtomiin</string>

@ -252,7 +252,6 @@
<string name="repeat_every">Tous les %d</string>
<string name="repeat_interval_prompt">Interval de répétition</string>
<string name="repeat_never">Une fois seulement</string>
<string name="repeat_dont">Ne pas répéter</string>
<string-array name="repeat_interval">
<item>Jour(s)</item>
<item>Semaine(s)</item>

@ -105,7 +105,6 @@
<string name="repeat_every">Minden %d</string>
<string name="repeat_interval_prompt">Ismétlési időköz</string>
<string name="repeat_never">Nem ismétlődő</string>
<string name="repeat_dont">Ne legyen ismétlés</string>
<string name="repeat_detail_duedate">Minden %s</string>
<string name="repeat_detail_duedate_until">Minden %1$s\neddig: %2$s</string>
<string name="repeat_forever">Ismétlés örökké</string>

@ -253,7 +253,6 @@ Se visualizzi questo errore più volte, ti consigliamo di cancellare tutti i dat
<string name="repeat_every">Ogni %d</string>
<string name="repeat_interval_prompt">Intervallo di ripetizione</string>
<string name="repeat_never">Non ricorrente</string>
<string name="repeat_dont">Non ripetere</string>
<string-array name="repeat_interval">
<item>Giorno(i)</item>
<item>Settimana(e)</item>

@ -227,7 +227,6 @@
<string name="repeat_enabled">חזרה</string>
<string name="repeat_every">כל %d</string>
<string name="repeat_interval_prompt">אינטרוול חזרות</string>
<string name="repeat_dont">ללא חזרות</string>
<string-array name="repeat_interval">
<item>יום/ימים</item>
<item>שבוע/(ות)</item>

@ -259,7 +259,6 @@
<string name="repeat_every">%d 毎</string>
<string name="repeat_interval_prompt">繰り返し間隔</string>
<string name="repeat_never">繰り返しなし</string>
<string name="repeat_dont">繰り返ししない</string>
<string-array name="repeat_interval">
<item>日毎</item>
<item>週毎</item>

@ -260,7 +260,6 @@ Tasks의 백업에서 당신의 일정을 복구하시기 바랍니다.
<string name="repeat_every">매 %d</string>
<string name="repeat_interval_prompt">반복 주기</string>
<string name="repeat_never">반복하지 않기</string>
<string name="repeat_dont">반복하지 않기</string>
<string-array name="repeat_interval">
<item>일마다</item>
<item>주마다</item>

@ -113,7 +113,6 @@
<string name="repeat_enabled">Gjentakelser</string>
<string name="repeat_every">Hver %d</string>
<string name="repeat_interval_prompt">Gjentakelsesintervall</string>
<string name="repeat_dont">Ikke gjenta</string>
<string name="repeat_detail_duedate">Hver %s</string>
<string name="TPl_notification">Tidtaker aktiv for %s!</string>
<string name="TFE_workingOn">Oppgaver med tidtaker</string>

@ -256,7 +256,6 @@
<string name="repeat_every">Elke %d</string>
<string name="repeat_interval_prompt">Herhaal interval</string>
<string name="repeat_never">Niet herhalend</string>
<string name="repeat_dont">Niet herhalen</string>
<string-array name="repeat_interval">
<item>Dag(en)</item>
<item>week/weken</item>

@ -231,7 +231,6 @@ i odzyskanie zadań z kopi zapasowej (Settings-&gt;Sync and backup-&gt;Backup-&g
<string name="repeat_every">Co %d</string>
<string name="repeat_interval_prompt">Odstęp powtarzania</string>
<string name="repeat_never">Jednorazowo</string>
<string name="repeat_dont">Nie powtarzaj</string>
<string-array name="repeat_interval">
<item>Dzień/Dni</item>
<item>Tydzień/Tygodni(e)</item>

@ -228,7 +228,6 @@
<string name="repeat_every">A cada %d</string>
<string name="repeat_interval_prompt">Intervalo de repetição</string>
<string name="repeat_never">Não repetir</string>
<string name="repeat_dont">Não repetir</string>
<string-array name="repeat_interval">
<item>Dia(s)</item>
<item>Semana(s)</item>

@ -251,7 +251,6 @@ das tarefas através de um backup em Definições-&gt;Sincronização e backup-&
<string name="repeat_every">Cada %d</string>
<string name="repeat_interval_prompt">Intervalo de repetição</string>
<string name="repeat_never">Não repete</string>
<string name="repeat_dont">Não repete</string>
<string-array name="repeat_interval">
<item>Dia(s)</item>
<item>Semana(s)</item>

@ -258,7 +258,6 @@
<string name="repeat_every">С интервалом в %d</string>
<string name="repeat_interval_prompt">Интервал повтора</string>
<string name="repeat_never">Без повторений</string>
<string name="repeat_dont">Не повторять</string>
<string-array name="repeat_interval">
<item>День(дней)</item>
<item>Неделя(ль)</item>

@ -244,7 +244,6 @@
<string name="repeat_every">Každý %d</string>
<string name="repeat_interval_prompt">Interval opakovania</string>
<string name="repeat_never">Neopakovať</string>
<string name="repeat_dont">Neopakovať</string>
<string-array name="repeat_interval">
<item>Deň</item>
<item>Týždeň</item>

@ -232,7 +232,6 @@
<string name="repeat_every">Vsakih %d</string>
<string name="repeat_interval_prompt">Pogostost ponovitev</string>
<string name="repeat_never">Brez ponovitev</string>
<string name="repeat_dont">Ne ponovi</string>
<string-array name="repeat_interval">
<item>Dan/dni</item>
<item>V tednih</item>

@ -223,7 +223,6 @@ och återställer dina aktuella uppgifter från en backup
<string name="repeat_every">Varje %d</string>
<string name="repeat_interval_prompt">Upprepningsintervall</string>
<string name="repeat_never">Inte upprepande</string>
<string name="repeat_dont">Upprepa inte</string>
<string-array name="repeat_interval">
<item>Dag(ar)</item>
<item>Vecka (veckor)</item>

@ -202,7 +202,6 @@
<string name="repeat_enabled">Tekrarlar</string>
<string name="repeat_every">Her %d</string>
<string name="repeat_interval_prompt">Yineleme Aralığı</string>
<string name="repeat_dont">Yineleme Yapma</string>
<string-array name="repeat_interval">
<item>Gün</item>
<item>Hafta</item>

@ -244,7 +244,6 @@
<string name="repeat_every">З інтервалом в %d</string>
<string name="repeat_interval_prompt">Інтервал повторення</string>
<string name="repeat_never">Не повторювати</string>
<string name="repeat_dont">Не повторювати</string>
<string name="repeat_detail_duedate">З інтервалом в %s</string>
<string name="repeat_detail_duedate_until">Кожні %1$s\nпоки %2$s</string>
<string name="repeat_forever">Повторювати завжди</string>

@ -181,7 +181,6 @@
<string name="repeat_enabled">重复</string>
<string name="repeat_every">每 %d</string>
<string name="repeat_interval_prompt">重复间隔</string>
<string name="repeat_dont">不重复</string>
<string-array name="repeat_interval">
<item></item>
<item>星期</item>

@ -212,7 +212,6 @@
<string name="repeat_enabled">重複</string>
<string name="repeat_every">每 %d</string>
<string name="repeat_interval_prompt">重複間隔</string>
<string name="repeat_dont">不重複</string>
<string-array name="repeat_interval">
<item></item>
<item>星期</item>

@ -707,8 +707,6 @@ File %1$s contained %2$s.\n\n
<!-- slide 19b-->
<string name="repeat_never">Not repeating</string>
<!-- slide 20f-->
<string name="repeat_dont">Don\'t repeat</string>
<string-array name="repeat_interval">
<!-- slide 20e: repeat interval (days,weeks,months,hours,minutes,years) -->

Loading…
Cancel
Save