Added sort on unread/starred

This commit is contained in:
M66B 2024-03-06 18:19:11 +01:00
parent 67519b7377
commit fc411e3ca3
4 changed files with 13 additions and 0 deletions

View File

@ -116,6 +116,7 @@ public interface DaoMessage {
" END" +
", CASE" +
" WHEN 'unread' = :sort2 THEN SUM(1 - message.ui_seen) = 0" +
" WHEN 'starred' = :sort2 THEN COUNT(message.id) - SUM(1 - message.ui_flagged) = 0" +
" ELSE 0" +
" END" +
", CASE WHEN :ascending THEN message.received ELSE -message.received END")
@ -194,6 +195,7 @@ public interface DaoMessage {
" END" +
", CASE" +
" WHEN 'unread' = :sort2 THEN SUM(1 - message.ui_seen) = 0" +
" WHEN 'starred' = :sort2 THEN COUNT(message.id) - SUM(1 - message.ui_flagged) = 0" +
" ELSE 0" +
" END" +
", CASE WHEN :ascending THEN message.received ELSE -message.received END")

View File

@ -5943,6 +5943,7 @@ public class FragmentMessages extends FragmentBase
menu.findItem(R.id.menu_sort_on_unread).setVisible(false);
menu.findItem(R.id.menu_sort_on_priority).setVisible(false);
menu.findItem(R.id.menu_sort_on_starred).setVisible(false);
menu.findItem(R.id.menu_sort_on_unread_starred).setVisible(false);
menu.findItem(R.id.menu_sort_on_starred_unread).setVisible(false);
menu.findItem(R.id.menu_sort_on_sender).setVisible(false);
menu.findItem(R.id.menu_sort_on_subject).setVisible(false);
@ -5961,6 +5962,8 @@ public class FragmentMessages extends FragmentBase
menu.findItem(R.id.menu_sort_on_unread).setChecked(true);
else if ("starred".equals(sort))
menu.findItem(R.id.menu_sort_on_starred).setChecked(true);
else if ("unread+starred".equals(sort))
menu.findItem(R.id.menu_sort_on_unread_starred).setChecked(true);
else if ("starred+unread".equals(sort))
menu.findItem(R.id.menu_sort_on_starred_unread).setChecked(true);
else if ("priority".equals(sort))
@ -6107,6 +6110,10 @@ public class FragmentMessages extends FragmentBase
item.setChecked(true);
onMenuSort("starred");
return true;
} else if (itemId == R.id.menu_sort_on_unread_starred) {
item.setChecked(true);
onMenuSort("unread+starred");
return true;
} else if (itemId == R.id.menu_sort_on_starred_unread) {
item.setChecked(true);
onMenuSort("starred+unread");

View File

@ -58,6 +58,9 @@
<item
android:id="@+id/menu_sort_on_starred"
android:title="@string/title_sort_on_starred" />
<item
android:id="@+id/menu_sort_on_unread_starred"
android:title="@string/title_sort_on_unread_starred" />
<item
android:id="@+id/menu_sort_on_starred_unread"
android:title="@string/title_sort_on_starred_unread" />

View File

@ -1911,6 +1911,7 @@
<string name="title_sort_on_time">Time</string>
<string name="title_sort_on_unread">Unread</string>
<string name="title_sort_on_starred">Starred</string>
<string name="title_sort_on_unread_starred">Unread, starred</string>
<string name="title_sort_on_starred_unread">Starred, unread</string>
<string name="title_sort_on_priority">Priority</string>
<string name="title_sort_on_sender">Sender</string>