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" />
+
+
+
+