From f300673c971b7f24017b2ba3770cee42748b8e61 Mon Sep 17 00:00:00 2001 From: M66B Date: Wed, 31 Aug 2022 11:40:09 +0200 Subject: [PATCH] Added outbox to unified folders / accounts --- .../main/java/eu/faircode/email/FragmentAccounts.java | 10 ++++++++++ .../main/java/eu/faircode/email/FragmentFolders.java | 10 ++++++++++ app/src/main/res/menu/menu_accounts.xml | 6 ++++++ app/src/main/res/menu/menu_folders.xml | 6 ++++++ 4 files changed, 32 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/FragmentAccounts.java b/app/src/main/java/eu/faircode/email/FragmentAccounts.java index 36faf3f034..ef5b5e84f7 100644 --- a/app/src/main/java/eu/faircode/email/FragmentAccounts.java +++ b/app/src/main/java/eu/faircode/email/FragmentAccounts.java @@ -48,6 +48,7 @@ import androidx.core.view.MenuCompat; import androidx.fragment.app.FragmentTransaction; import androidx.lifecycle.Lifecycle; import androidx.lifecycle.Observer; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; @@ -352,6 +353,7 @@ public class FragmentAccounts extends FragmentBase { public void onPrepareOptionsMenu(Menu menu) { menu.findItem(R.id.menu_search).setVisible(!settings); menu.findItem(R.id.menu_unified).setVisible(!settings); + menu.findItem(R.id.menu_outbox).setVisible(!settings); menu.findItem(R.id.menu_compact).setChecked(compact); menu.findItem(R.id.menu_compact).setVisible(!settings); menu.findItem(R.id.menu_theme).setVisible(!settings); @@ -369,6 +371,9 @@ public class FragmentAccounts extends FragmentBase { } else if (itemId == R.id.menu_unified) { onMenuUnified(); return true; + } else if (itemId == R.id.menu_outbox) { + onMenuOutbox(); + return true; } else if (itemId == R.id.menu_compact) { onMenuCompact(); return true; @@ -402,6 +407,11 @@ public class FragmentAccounts extends FragmentBase { fragmentTransaction.commit(); } + private void onMenuOutbox() { + LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext()); + lbm.sendBroadcast(new Intent(ActivityView.ACTION_VIEW_OUTBOX)); + } + private void onMenuCompact() { compact = !compact; diff --git a/app/src/main/java/eu/faircode/email/FragmentFolders.java b/app/src/main/java/eu/faircode/email/FragmentFolders.java index b2e2a8f272..f315a25e1e 100644 --- a/app/src/main/java/eu/faircode/email/FragmentFolders.java +++ b/app/src/main/java/eu/faircode/email/FragmentFolders.java @@ -63,6 +63,7 @@ import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.Observer; import androidx.lifecycle.OnLifecycleEvent; import androidx.lifecycle.ViewModelProvider; +import androidx.localbroadcastmanager.content.LocalBroadcastManager; import androidx.preference.PreferenceManager; import androidx.recyclerview.widget.DividerItemDecoration; import androidx.recyclerview.widget.LinearLayoutManager; @@ -681,6 +682,7 @@ public class FragmentFolders extends FragmentBase { boolean sort_unread_atop = prefs.getBoolean("sort_unread_atop", false); menu.findItem(R.id.menu_unified).setVisible(account < 0 || primary); + menu.findItem(R.id.menu_outbox).setVisible(account < 0 || primary); menu.findItem(R.id.menu_compact).setChecked(compact); menu.findItem(R.id.menu_theme).setVisible(account < 0 || primary); menu.findItem(R.id.menu_show_hidden).setChecked(show_hidden); @@ -705,6 +707,9 @@ public class FragmentFolders extends FragmentBase { } else if (itemId == R.id.menu_unified) { onMenuUnified(); return true; + } else if (itemId == R.id.menu_outbox) { + onMenuOutbox(); + return true; } else if (itemId == R.id.menu_compact) { onMenuCompact(); return true; @@ -763,6 +768,11 @@ public class FragmentFolders extends FragmentBase { fragmentTransaction.commit(); } + private void onMenuOutbox() { + LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(getContext()); + lbm.sendBroadcast(new Intent(ActivityView.ACTION_VIEW_OUTBOX)); + } + private void onMenuCompact() { compact = !compact; diff --git a/app/src/main/res/menu/menu_accounts.xml b/app/src/main/res/menu/menu_accounts.xml index 28966be051..c3845a0cc9 100644 --- a/app/src/main/res/menu/menu_accounts.xml +++ b/app/src/main/res/menu/menu_accounts.xml @@ -14,6 +14,12 @@ android:title="@string/title_folders_unified" app:showAsAction="always" /> + + + +