diff --git a/astrid/res/layout/sort_selection_dialog.xml b/astrid/res/layout/sort_selection_dialog.xml
new file mode 100644
index 000000000..ace8e3cca
--- /dev/null
+++ b/astrid/res/layout/sort_selection_dialog.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/astrid/res/values-ca/strings.xml b/astrid/res/values-ca/strings.xml
index 71348978d..90c6ac386 100644
--- a/astrid/res/values-ca/strings.xml
+++ b/astrid/res/values-ca/strings.xml
@@ -624,25 +624,25 @@ to the plugin creator for fastest service.
More...
- Recently Modified
+ Recently Modified
- Tasques Completades
+ Tasques Completades
- Hidden Tasks
+ Hidden Tasks
- By Title
+ By Title
- By Due Date
+ By Due Date
- By Importance
+ By Importance
- Deleted Tasks
+ Deleted Tasks
diff --git a/astrid/res/values-cs/strings.xml b/astrid/res/values-cs/strings.xml
index 29cda16c5..dde7a8963 100644
--- a/astrid/res/values-cs/strings.xml
+++ b/astrid/res/values-cs/strings.xml
@@ -617,25 +617,25 @@ to the plugin creator for fastest service.
Více...
- Nedávno upravené
+ Nedávno upravené
- Dokončené úkoly
+ Dokončené úkoly
- Skryté úkoly
+ Skryté úkoly
- Podle názvu
+ Podle názvu
- Podle data ukončení
+ Podle data ukončení
- Podle důležitosti
+ Podle důležitosti
- Smazané úkoly
+ Smazané úkoly
diff --git a/astrid/res/values-de/strings.xml b/astrid/res/values-de/strings.xml
index 2c136c46e..1601acdc0 100644
--- a/astrid/res/values-de/strings.xml
+++ b/astrid/res/values-de/strings.xml
@@ -617,25 +617,25 @@ to the plugin creator for fastest service.
Mehr...
- Kürzlich bearbeitet
+ Kürzlich bearbeitet
- Erledigte Aufgaben
+ Erledigte Aufgaben
- Versteckte Aufgaben
+ Versteckte Aufgaben
- Nach Titel
+ Nach Titel
- Nach Fälligkeit
+ Nach Fälligkeit
- Nach Wichtigkeit
+ Nach Wichtigkeit
- Gelöschte Aufgaben
+ Gelöschte Aufgaben
diff --git a/astrid/res/values-es/strings.xml b/astrid/res/values-es/strings.xml
index 702569171..710a8e38c 100644
--- a/astrid/res/values-es/strings.xml
+++ b/astrid/res/values-es/strings.xml
@@ -618,25 +618,25 @@ Si puede añada Astrid a la lista de exclusión de modo que no sea matada. De ot
Más…
- Recientemente modificado
+ Recientemente modificado
- Tareas Finalizadas
+ Tareas Finalizadas
- Tareas ocultas
+ Tareas ocultas
- Por título
+ Por título
- Por fecha de vencimiento
+ Por fecha de vencimiento
- Por importancia
+ Por importancia
- Tareas eliminadas
+ Tareas eliminadas
diff --git a/astrid/res/values-fr/strings.xml b/astrid/res/values-fr/strings.xml
index 0cc65337e..b561a83f0 100644
--- a/astrid/res/values-fr/strings.xml
+++ b/astrid/res/values-fr/strings.xml
@@ -617,25 +617,25 @@ to the plugin creator for fastest service.
Plus...
- Récemment modifié
+ Récemment modifié
- Tâches complétées
+ Tâches complétées
- Tâches masquées
+ Tâches masquées
- Par Titre
+ Par Titre
- Par date d\'échéance
+ Par date d\'échéance
- Par priorité
+ Par priorité
- Tâches supprimées
+ Tâches supprimées
diff --git a/astrid/res/values-id/strings.xml b/astrid/res/values-id/strings.xml
index 060560d0e..18e7f872b 100644
--- a/astrid/res/values-id/strings.xml
+++ b/astrid/res/values-id/strings.xml
@@ -631,25 +631,25 @@ you get stuff done. It features reminders, tags, sync, a widget and more.
More...
- Recently Modified
+ Recently Modified
- Tugas Selesai
+ Tugas Selesai
- Hidden Tasks
+ Hidden Tasks
- By Title
+ By Title
- By Due Date
+ By Due Date
- By Importance
+ By Importance
- Deleted Tasks
+ Deleted Tasks
diff --git a/astrid/res/values-it/strings.xml b/astrid/res/values-it/strings.xml
index acfdd12a7..3c4316be0 100644
--- a/astrid/res/values-it/strings.xml
+++ b/astrid/res/values-it/strings.xml
@@ -620,25 +620,25 @@ you get stuff done. It features reminders, tags, sync, a widget and more.
Altri...
- Modificato di recente
+ Modificato di recente
- Attività Completate
+ Attività Completate
- Attività Nascoste
+ Attività Nascoste
- Per Titotlo
+ Per Titotlo
- Per scadenza
+ Per scadenza
- Per Importanza
+ Per Importanza
- Attività Eliminate
+ Attività Eliminate
diff --git a/astrid/res/values-ja/strings.xml b/astrid/res/values-ja/strings.xml
index ad0f3074f..d3b231671 100644
--- a/astrid/res/values-ja/strings.xml
+++ b/astrid/res/values-ja/strings.xml
@@ -622,25 +622,25 @@ you get stuff done. It features reminders, tags, sync, a widget and more.
その他のフィルタ
- 最近編集したタスク
+ 最近編集したタスク
- 完了したタスク
+ 完了したタスク
- 非表示のタスク
+ 非表示のタスク
- タイトル順
+ タイトル順
- 期限順
+ 期限順
- 重要度順
+ 重要度順
- 削除したタスク
+ 削除したタスク
diff --git a/astrid/res/values-ko/strings.xml b/astrid/res/values-ko/strings.xml
index 4ba826268..d2ef0d695 100644
--- a/astrid/res/values-ko/strings.xml
+++ b/astrid/res/values-ko/strings.xml
@@ -628,25 +628,25 @@ Astrid might not let you know when your tasks are due.\n
More...
- Recently Modified
+ Recently Modified
- 완료된 할일
+ 완료된 할일
- Hidden Tasks
+ Hidden Tasks
- By Title
+ By Title
- By Due Date
+ By Due Date
- By Importance
+ By Importance
- Deleted Tasks
+ Deleted Tasks
diff --git a/astrid/res/values-nb/strings.xml b/astrid/res/values-nb/strings.xml
index 1b0ce8f12..84f93483d 100644
--- a/astrid/res/values-nb/strings.xml
+++ b/astrid/res/values-nb/strings.xml
@@ -617,25 +617,25 @@ to the plugin creator for fastest service.
Mer...
- Nylig endret
+ Nylig endret
- Fullførte oppgaver
+ Fullførte oppgaver
- Skjulte oppgaver
+ Skjulte oppgaver
- Etter tittel
+ Etter tittel
- Etter forfallsdato
+ Etter forfallsdato
- Etter viktighet
+ Etter viktighet
- Slettede oppgaver
+ Slettede oppgaver
diff --git a/astrid/res/values-nl/strings.xml b/astrid/res/values-nl/strings.xml
index bc83bb88c..242a32ca4 100644
--- a/astrid/res/values-nl/strings.xml
+++ b/astrid/res/values-nl/strings.xml
@@ -631,25 +631,25 @@ you get stuff done. It features reminders, tags, sync, a widget and more.
More...
- Recently Modified
+ Recently Modified
- Afgeronde taken
+ Afgeronde taken
- Hidden Tasks
+ Hidden Tasks
- By Title
+ By Title
- By Due Date
+ By Due Date
- By Importance
+ By Importance
- Deleted Tasks
+ Deleted Tasks
diff --git a/astrid/res/values-pl/strings.xml b/astrid/res/values-pl/strings.xml
index c2e4e9b11..bfc4437d9 100644
--- a/astrid/res/values-pl/strings.xml
+++ b/astrid/res/values-pl/strings.xml
@@ -628,25 +628,25 @@ Astrid might not let you know when your tasks are due.\n
More...
- Recently Modified
+ Recently Modified
- Zakończone zadania
+ Zakończone zadania
- Hidden Tasks
+ Hidden Tasks
- By Title
+ By Title
- By Due Date
+ By Due Date
- By Importance
+ By Importance
- Deleted Tasks
+ Deleted Tasks
diff --git a/astrid/res/values-pt/strings.xml b/astrid/res/values-pt/strings.xml
index 7d2b92920..3b529c262 100644
--- a/astrid/res/values-pt/strings.xml
+++ b/astrid/res/values-pt/strings.xml
@@ -621,25 +621,25 @@ Astrid might not let you know when your tasks are due.\n
Mais...
- Recently Modified
+ Recently Modified
- Tarefas Terminadas
+ Tarefas Terminadas
- Hidden Tasks
+ Hidden Tasks
- Por Título
+ Por Título
- By Due Date
+ By Due Date
- By Importance
+ By Importance
- Deleted Tasks
+ Deleted Tasks
diff --git a/astrid/res/values-ru/strings.xml b/astrid/res/values-ru/strings.xml
index 4be750e73..24ee0b922 100644
--- a/astrid/res/values-ru/strings.xml
+++ b/astrid/res/values-ru/strings.xml
@@ -620,25 +620,25 @@ you get stuff done. It features reminders, tags, sync, a widget and more.
Ещё...
- Недавно изменённые
+ Недавно изменённые
- Завершённые задачи
+ Завершённые задачи
- Скрытые задачи
+ Скрытые задачи
- По названию
+ По названию
- По намеченному сроку
+ По намеченному сроку
- По уровню важности
+ По уровню важности
- Удалённые задачи
+ Удалённые задачи
diff --git a/astrid/res/values-sv/strings.xml b/astrid/res/values-sv/strings.xml
index bb5c42c59..c473ed31a 100644
--- a/astrid/res/values-sv/strings.xml
+++ b/astrid/res/values-sv/strings.xml
@@ -631,25 +631,25 @@ you get stuff done. It features reminders, tags, sync, a widget and more.
More...
- Recently Modified
+ Recently Modified
- Färdiga uppgifter
+ Färdiga uppgifter
- Hidden Tasks
+ Hidden Tasks
- By Title
+ By Title
- By Due Date
+ By Due Date
- By Importance
+ By Importance
- Deleted Tasks
+ Deleted Tasks
diff --git a/astrid/res/values-tr/strings.xml b/astrid/res/values-tr/strings.xml
index 51bb553cc..3cb861fa2 100644
--- a/astrid/res/values-tr/strings.xml
+++ b/astrid/res/values-tr/strings.xml
@@ -631,25 +631,25 @@ you get stuff done. It features reminders, tags, sync, a widget and more.
More...
- Recently Modified
+ Recently Modified
- Tamamlanmış Görevler
+ Tamamlanmış Görevler
- Hidden Tasks
+ Hidden Tasks
- By Title
+ By Title
- By Due Date
+ By Due Date
- By Importance
+ By Importance
- Deleted Tasks
+ Deleted Tasks
diff --git a/astrid/res/values-zh-rCN/strings.xml b/astrid/res/values-zh-rCN/strings.xml
index 255eb0d51..39212c76e 100644
--- a/astrid/res/values-zh-rCN/strings.xml
+++ b/astrid/res/values-zh-rCN/strings.xml
@@ -631,25 +631,25 @@ you get stuff done. It features reminders, tags, sync, a widget and more.
More...
- Recently Modified
+ Recently Modified
- 已完成的任务
+ 已完成的任务
- Hidden Tasks
+ Hidden Tasks
- By Title
+ By Title
- By Due Date
+ By Due Date
- By Importance
+ By Importance
- Deleted Tasks
+ Deleted Tasks
diff --git a/astrid/res/values-zh-rTW/strings.xml b/astrid/res/values-zh-rTW/strings.xml
index 15ed396b3..7c2dccc15 100644
--- a/astrid/res/values-zh-rTW/strings.xml
+++ b/astrid/res/values-zh-rTW/strings.xml
@@ -617,25 +617,25 @@ to the plugin creator for fastest service.
更多...
- 最近修改過
+ 最近修改過
- 已完成的工作
+ 已完成的工作
- 隱藏的工作
+ 隱藏的工作
- 依主旨
+ 依主旨
- 依到期日
+ 依到期日
- 依重要性
+ 依重要性
- 刪除的工作
+ 刪除的工作
diff --git a/astrid/res/values/strings-core.xml b/astrid/res/values/strings-core.xml
index c96065851..7ac606884 100644
--- a/astrid/res/values/strings-core.xml
+++ b/astrid/res/values/strings-core.xml
@@ -156,6 +156,9 @@
Add-ons
+
+ Sort & Hidden
+
Settings
@@ -209,6 +212,47 @@ button: add task & go to the edit page.
Undelete Task
+
+
+
+ Sorting and Hidden Tasks
+
+
+ Show Completed Tasks
+
+
+ Show Hidden Tasks
+
+
+ Show Deleted Tasks
+
+
+ Sort Options
+
+
+ Astrid Smart Sort
+
+
+ By Title
+
+
+ By Due Date
+
+
+ By Importance
+
+
+ By Last Modified
+
+
+ Reverse Sort
+
+
+ Just Once
+
+
+ Always
+
diff --git a/astrid/src/com/todoroo/astrid/activity/SortSelectionActivity.java b/astrid/src/com/todoroo/astrid/activity/SortSelectionActivity.java
new file mode 100644
index 000000000..9e2efa689
--- /dev/null
+++ b/astrid/src/com/todoroo/astrid/activity/SortSelectionActivity.java
@@ -0,0 +1,34 @@
+package com.todoroo.astrid.activity;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.view.View;
+
+import com.timsu.astrid.R;
+
+public class SortSelectionActivity {
+
+ private SortSelectionActivity() {
+ // use the static method
+ }
+
+ /**
+ * Create the dialog
+ * @param activity
+ * @return
+ */
+ public static AlertDialog createDialog(Activity activity) {
+ View body = activity.getLayoutInflater().inflate(R.layout.sort_selection_dialog, null);
+
+ AlertDialog dialog = new AlertDialog.Builder(activity).
+ setTitle(R.string.SSD_title).
+ setIcon(android.R.drawable.ic_menu_sort_by_size).
+ setView(body).
+ setPositiveButton(R.string.SSD_save_always, null).
+ setNegativeButton(R.string.SSD_save_temp, null).
+ create();
+ dialog.setOwnerActivity(activity);
+ return dialog;
+ }
+
+}
diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
index 8977788ba..2913a9a1e 100644
--- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
+++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java
@@ -94,23 +94,25 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
public static final int ACTIVITY_EDIT_TASK = 0;
public static final int ACTIVITY_SETTINGS = 1;
- public static final int ACTIVITY_ADDONS = 2;
- public static final int ACTIVITY_MENU_EXTERNAL = 3;
+ public static final int ACTIVITY_SORT = 2;
+ public static final int ACTIVITY_ADDONS = 3;
+ public static final int ACTIVITY_MENU_EXTERNAL = 4;
// --- menu codes
private static final int MENU_ADDONS_ID = Menu.FIRST + 1;
private static final int MENU_SETTINGS_ID = Menu.FIRST + 2;
- private static final int MENU_HELP_ID = Menu.FIRST + 3;
- private static final int MENU_ADDON_INTENT_ID = Menu.FIRST + 4;
+ private static final int MENU_SORT_ID = Menu.FIRST + 3;
+ private static final int MENU_HELP_ID = Menu.FIRST + 4;
+ private static final int MENU_ADDON_INTENT_ID = Menu.FIRST + 5;
- private static final int CONTEXT_MENU_EDIT_TASK_ID = Menu.FIRST + 5;
- private static final int CONTEXT_MENU_DELETE_TASK_ID = Menu.FIRST + 6;
- private static final int CONTEXT_MENU_UNDELETE_TASK_ID = Menu.FIRST + 7;
- private static final int CONTEXT_MENU_ADDON_INTENT_ID = Menu.FIRST + 8;
+ private static final int CONTEXT_MENU_EDIT_TASK_ID = Menu.FIRST + 6;
+ private static final int CONTEXT_MENU_DELETE_TASK_ID = Menu.FIRST + 7;
+ private static final int CONTEXT_MENU_UNDELETE_TASK_ID = Menu.FIRST + 8;
+ private static final int CONTEXT_MENU_ADDON_INTENT_ID = Menu.FIRST + 9;
/** menu code indicating the end of the context menu */
- private static final int CONTEXT_MENU_DEBUG = Menu.FIRST + 9;
+ private static final int CONTEXT_MENU_DEBUG = Menu.FIRST + 10;
// --- constants
@@ -213,6 +215,10 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
R.string.TLA_menu_settings);
item.setIcon(android.R.drawable.ic_menu_preferences);
+ item = menu.add(Menu.NONE, MENU_SORT_ID, Menu.NONE,
+ R.string.TLA_menu_sort);
+ item.setIcon(android.R.drawable.ic_menu_sort_by_size);
+
item = menu.add(Menu.NONE, MENU_HELP_ID, Menu.NONE,
R.string.TLA_menu_help);
item.setIcon(android.R.drawable.ic_menu_help);
@@ -717,6 +723,10 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
intent = new Intent(this, EditPreferences.class);
startActivityForResult(intent, ACTIVITY_SETTINGS);
return true;
+ case MENU_SORT_ID:
+ AlertDialog dialog = SortSelectionActivity.createDialog(this);
+ dialog.show();
+ return true;
case MENU_HELP_ID:
intent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://weloveastrid.com/help-user-guide-astrid-v3/active-tasks/")); //$NON-NLS-1$
@@ -727,8 +737,8 @@ public class TaskListActivity extends ListActivity implements OnScrollListener,
AndroidUtilities.startExternalIntent(this, intent, ACTIVITY_MENU_EXTERNAL);
return true;
+ // --- context menu items
- // context menu items
case CONTEXT_MENU_ADDON_INTENT_ID: {
intent = item.getIntent();
AndroidUtilities.startExternalIntent(this, intent, ACTIVITY_MENU_EXTERNAL);