Added message more menu dividers

This commit is contained in:
M66B 2021-08-17 21:31:19 +02:00
parent 3704f10f55
commit 4fd89178cd
3 changed files with 185 additions and 174 deletions

View File

@ -122,6 +122,7 @@ import androidx.core.content.FileProvider;
import androidx.core.content.pm.ShortcutInfoCompat; import androidx.core.content.pm.ShortcutInfoCompat;
import androidx.core.content.pm.ShortcutManagerCompat; import androidx.core.content.pm.ShortcutManagerCompat;
import androidx.core.graphics.ColorUtils; import androidx.core.graphics.ColorUtils;
import androidx.core.view.MenuCompat;
import androidx.fragment.app.DialogFragment; import androidx.fragment.app.DialogFragment;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
@ -4531,18 +4532,14 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
.setEnabled(message.uid == null || !message.folderReadOnly) .setEnabled(message.uid == null || !message.folderReadOnly)
.setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP); .setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP);
popupMenu.getMenu().findItem(R.id.menu_resync)
.setEnabled(message.uid != null)
.setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP);
popupMenu.getMenu().findItem(R.id.menu_search_in_text).setEnabled(message.content && !full);
popupMenu.getMenu().findItem(R.id.menu_create_rule).setVisible(!message.folderReadOnly); popupMenu.getMenu().findItem(R.id.menu_create_rule).setVisible(!message.folderReadOnly);
popupMenu.getMenu().findItem(R.id.menu_manage_keywords) popupMenu.getMenu().findItem(R.id.menu_manage_keywords)
.setEnabled(message.uid != null && !message.folderReadOnly) .setEnabled(message.uid != null && !message.folderReadOnly)
.setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP); .setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP);
popupMenu.getMenu().findItem(R.id.menu_search_in_text).setEnabled(message.content && !full);
popupMenu.getMenu().findItem(R.id.menu_share).setEnabled(message.content); popupMenu.getMenu().findItem(R.id.menu_share).setEnabled(message.content);
popupMenu.getMenu().findItem(R.id.menu_pin).setVisible(pin); popupMenu.getMenu().findItem(R.id.menu_pin).setVisible(pin);
popupMenu.getMenu().findItem(R.id.menu_event).setEnabled(message.content); popupMenu.getMenu().findItem(R.id.menu_event).setEnabled(message.content);
@ -4562,8 +4559,14 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
popupMenu.getMenu().findItem(R.id.menu_raw_save).setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP); popupMenu.getMenu().findItem(R.id.menu_raw_save).setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP);
popupMenu.getMenu().findItem(R.id.menu_raw_send).setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP); popupMenu.getMenu().findItem(R.id.menu_raw_send).setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP);
popupMenu.getMenu().findItem(R.id.menu_resync)
.setEnabled(message.uid != null)
.setVisible(message.accountProtocol == EntityAccount.TYPE_IMAP);
popupMenu.insertIcons(context); popupMenu.insertIcons(context);
MenuCompat.setGroupDividerEnabled(popupMenu.getMenu(), true);
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override @Override
public boolean onMenuItemClick(MenuItem target) { public boolean onMenuItemClick(MenuItem target) {
@ -4603,21 +4606,18 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
} else if (itemId == R.id.menu_delete) { } else if (itemId == R.id.menu_delete) {
onActionDelete(message); onActionDelete(message);
return true; return true;
} else if (itemId == R.id.menu_resync) {
onMenuResync(message);
return true;
} else if (itemId == R.id.menu_edit_notes) { } else if (itemId == R.id.menu_edit_notes) {
onMenuNotes(message); onMenuNotes(message);
return true; return true;
} else if (itemId == R.id.menu_search_in_text) {
onSearchText(message);
return true;
} else if (itemId == R.id.menu_create_rule) { } else if (itemId == R.id.menu_create_rule) {
onMenuCreateRule(message); onMenuCreateRule(message);
return true; return true;
} else if (itemId == R.id.menu_manage_keywords) { } else if (itemId == R.id.menu_manage_keywords) {
onMenuManageKeywords(message); onMenuManageKeywords(message);
return true; return true;
} else if (itemId == R.id.menu_search_in_text) {
onSearchText(message);
return true;
} else if (itemId == R.id.menu_event) { } else if (itemId == R.id.menu_event) {
if (ActivityBilling.isPro(context)) if (ActivityBilling.isPro(context))
onMenuShare(message, true); onMenuShare(message, true);
@ -4648,6 +4648,9 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
} else if (itemId == R.id.menu_raw_send_thread) { } else if (itemId == R.id.menu_raw_send_thread) {
onMenuRawSend(message, true); onMenuRawSend(message, true);
return true; return true;
} else if (itemId == R.id.menu_resync) {
onMenuResync(message);
return true;
} else if (itemId == R.id.menu_log) { } else if (itemId == R.id.menu_log) {
onMenuLog(message); onMenuLog(message);
return true; return true;
@ -7236,15 +7239,16 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_buttons, null); final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_buttons, null);
final CheckBox cbSeen = dview.findViewById(R.id.cbSeen);
final CheckBox cbHide = dview.findViewById(R.id.cbHide);
final CheckBox cbJunk = dview.findViewById(R.id.cbJunk); final CheckBox cbJunk = dview.findViewById(R.id.cbJunk);
final CheckBox cbTrash = dview.findViewById(R.id.cbTrash); final CheckBox cbTrash = dview.findViewById(R.id.cbTrash);
final CheckBox cbArchive = dview.findViewById(R.id.cbArchive); final CheckBox cbArchive = dview.findViewById(R.id.cbArchive);
final CheckBox cbMove = dview.findViewById(R.id.cbMove); final CheckBox cbMove = dview.findViewById(R.id.cbMove);
final CheckBox cbCopy = dview.findViewById(R.id.cbCopy); final CheckBox cbCopy = dview.findViewById(R.id.cbCopy);
final CheckBox cbKeywords = dview.findViewById(R.id.cbKeywords);
final CheckBox cbNotes = dview.findViewById(R.id.cbNotes); final CheckBox cbNotes = dview.findViewById(R.id.cbNotes);
final CheckBox cbSeen = dview.findViewById(R.id.cbSeen); final CheckBox cbRule = dview.findViewById(R.id.cbRule);
final CheckBox cbHide = dview.findViewById(R.id.cbHide); final CheckBox cbKeywords = dview.findViewById(R.id.cbKeywords);
final CheckBox cbSearch = dview.findViewById(R.id.cbSearch); final CheckBox cbSearch = dview.findViewById(R.id.cbSearch);
final CheckBox cbSearchText = dview.findViewById(R.id.cbSearchText); final CheckBox cbSearchText = dview.findViewById(R.id.cbSearchText);
final CheckBox cbTranslate = dview.findViewById(R.id.cbTranslate); final CheckBox cbTranslate = dview.findViewById(R.id.cbTranslate);
@ -7254,20 +7258,20 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
final CheckBox cbPrint = dview.findViewById(R.id.cbPrint); final CheckBox cbPrint = dview.findViewById(R.id.cbPrint);
final CheckBox cbHeaders = dview.findViewById(R.id.cbHeaders); final CheckBox cbHeaders = dview.findViewById(R.id.cbHeaders);
final CheckBox cbUnsubscribe = dview.findViewById(R.id.cbUnsubscribe); final CheckBox cbUnsubscribe = dview.findViewById(R.id.cbUnsubscribe);
final CheckBox cbRule = dview.findViewById(R.id.cbRule);
cbTranslate.setVisibility(DeepL.isAvailable(context) ? View.VISIBLE : View.GONE); cbTranslate.setVisibility(DeepL.isAvailable(context) ? View.VISIBLE : View.GONE);
cbPin.setVisibility(Shortcuts.can(context) ? View.VISIBLE : View.GONE); cbPin.setVisibility(Shortcuts.can(context) ? View.VISIBLE : View.GONE);
cbSeen.setChecked(prefs.getBoolean("button_seen", false));
cbHide.setChecked(prefs.getBoolean("button_hide", false));
cbJunk.setChecked(prefs.getBoolean("button_junk", true)); cbJunk.setChecked(prefs.getBoolean("button_junk", true));
cbTrash.setChecked(prefs.getBoolean("button_trash", true)); cbTrash.setChecked(prefs.getBoolean("button_trash", true));
cbArchive.setChecked(prefs.getBoolean("button_archive", true)); cbArchive.setChecked(prefs.getBoolean("button_archive", true));
cbMove.setChecked(prefs.getBoolean("button_move", true)); cbMove.setChecked(prefs.getBoolean("button_move", true));
cbCopy.setChecked(prefs.getBoolean("button_copy", false)); cbCopy.setChecked(prefs.getBoolean("button_copy", false));
cbKeywords.setChecked(prefs.getBoolean("button_keywords", false));
cbNotes.setChecked(prefs.getBoolean("button_notes", false)); cbNotes.setChecked(prefs.getBoolean("button_notes", false));
cbSeen.setChecked(prefs.getBoolean("button_seen", false)); cbRule.setChecked(prefs.getBoolean("button_rule", false));
cbHide.setChecked(prefs.getBoolean("button_hide", false)); cbKeywords.setChecked(prefs.getBoolean("button_keywords", false));
cbSearch.setChecked(prefs.getBoolean("button_search", false)); cbSearch.setChecked(prefs.getBoolean("button_search", false));
cbSearchText.setChecked(prefs.getBoolean("button_search_text", false)); cbSearchText.setChecked(prefs.getBoolean("button_search_text", false));
cbTranslate.setChecked(prefs.getBoolean("button_translate", false)); cbTranslate.setChecked(prefs.getBoolean("button_translate", false));
@ -7277,7 +7281,6 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
cbPrint.setChecked(prefs.getBoolean("button_print", false)); cbPrint.setChecked(prefs.getBoolean("button_print", false));
cbHeaders.setChecked(prefs.getBoolean("button_headers", false)); cbHeaders.setChecked(prefs.getBoolean("button_headers", false));
cbUnsubscribe.setChecked(prefs.getBoolean("button_unsubscribe", true)); cbUnsubscribe.setChecked(prefs.getBoolean("button_unsubscribe", true));
cbRule.setChecked(prefs.getBoolean("button_rule", false));
return new AlertDialog.Builder(getContext()) return new AlertDialog.Builder(getContext())
.setView(dview) .setView(dview)
@ -7285,15 +7288,16 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
SharedPreferences.Editor editor = prefs.edit(); SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("button_seen", cbSeen.isChecked());
editor.putBoolean("button_hide", cbHide.isChecked());
editor.putBoolean("button_junk", cbJunk.isChecked()); editor.putBoolean("button_junk", cbJunk.isChecked());
editor.putBoolean("button_trash", cbTrash.isChecked()); editor.putBoolean("button_trash", cbTrash.isChecked());
editor.putBoolean("button_archive", cbArchive.isChecked()); editor.putBoolean("button_archive", cbArchive.isChecked());
editor.putBoolean("button_move", cbMove.isChecked()); editor.putBoolean("button_move", cbMove.isChecked());
editor.putBoolean("button_copy", cbCopy.isChecked()); editor.putBoolean("button_copy", cbCopy.isChecked());
editor.putBoolean("button_keywords", cbKeywords.isChecked());
editor.putBoolean("button_notes", cbNotes.isChecked()); editor.putBoolean("button_notes", cbNotes.isChecked());
editor.putBoolean("button_seen", cbSeen.isChecked()); editor.putBoolean("button_rule", cbRule.isChecked());
editor.putBoolean("button_hide", cbHide.isChecked()); editor.putBoolean("button_keywords", cbKeywords.isChecked());
editor.putBoolean("button_search", cbSearch.isChecked()); editor.putBoolean("button_search", cbSearch.isChecked());
editor.putBoolean("button_search_text", cbSearchText.isChecked()); editor.putBoolean("button_search_text", cbSearchText.isChecked());
editor.putBoolean("button_translate", cbTranslate.isChecked()); editor.putBoolean("button_translate", cbTranslate.isChecked());
@ -7303,7 +7307,6 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
editor.putBoolean("button_print", cbPrint.isChecked()); editor.putBoolean("button_print", cbPrint.isChecked());
editor.putBoolean("button_headers", cbHeaders.isChecked()); editor.putBoolean("button_headers", cbHeaders.isChecked());
editor.putBoolean("button_unsubscribe", cbUnsubscribe.isChecked()); editor.putBoolean("button_unsubscribe", cbUnsubscribe.isChecked());
editor.putBoolean("button_rule", cbRule.isChecked());
editor.apply(); editor.apply();
sendResult(Activity.RESULT_OK); sendResult(Activity.RESULT_OK);
} }

View File

@ -31,6 +31,32 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvTitle" /> app:layout_constraintTop_toBottomOf="@id/tvTitle" />
<CheckBox
android:id="@+id/cbSeen"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:drawableEnd="@drawable/twotone_mail_24"
android:drawablePadding="6dp"
android:text="@string/title_toggle_seen"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvHint" />
<CheckBox
android:id="@+id/cbHide"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:drawableEnd="@drawable/twotone_visibility_off_24"
android:drawablePadding="6dp"
android:text="@string/title_toggle_hide"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbSeen" />
<CheckBox <CheckBox
android:id="@+id/cbJunk" android:id="@+id/cbJunk"
android:layout_width="0dp" android:layout_width="0dp"
@ -42,7 +68,7 @@
android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvHint" /> app:layout_constraintTop_toBottomOf="@id/cbHide" />
<CheckBox <CheckBox
android:id="@+id/cbTrash" android:id="@+id/cbTrash"
@ -96,19 +122,6 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbMove" /> app:layout_constraintTop_toBottomOf="@id/cbMove" />
<CheckBox
android:id="@+id/cbKeywords"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:drawableEnd="@drawable/twotone_label_important_24"
android:drawablePadding="6dp"
android:text="@string/title_keywords_btn"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbCopy" />
<CheckBox <CheckBox
android:id="@+id/cbNotes" android:id="@+id/cbNotes"
android:layout_width="0dp" android:layout_width="0dp"
@ -120,33 +133,33 @@
android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbKeywords" /> app:layout_constraintTop_toBottomOf="@id/cbCopy" />
<CheckBox <CheckBox
android:id="@+id/cbSeen" android:id="@+id/cbRule"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:drawableEnd="@drawable/twotone_mail_24" android:drawableEnd="@drawable/twotone_filter_alt_24"
android:drawablePadding="6dp" android:drawablePadding="6dp"
android:text="@string/title_toggle_seen" android:text="@string/title_message_rule"
android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbNotes" /> app:layout_constraintTop_toBottomOf="@id/cbNotes" />
<CheckBox <CheckBox
android:id="@+id/cbHide" android:id="@+id/cbKeywords"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="12dp" android:layout_marginTop="12dp"
android:drawableEnd="@drawable/twotone_visibility_off_24" android:drawableEnd="@drawable/twotone_label_important_24"
android:drawablePadding="6dp" android:drawablePadding="6dp"
android:text="@string/title_toggle_hide" android:text="@string/title_keywords_btn"
android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbSeen" /> app:layout_constraintTop_toBottomOf="@id/cbRule" />
<CheckBox <CheckBox
android:id="@+id/cbSearch" android:id="@+id/cbSearch"
@ -159,7 +172,7 @@
android:textAppearance="@style/TextAppearance.AppCompat.Small" android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbHide" /> app:layout_constraintTop_toBottomOf="@id/cbKeywords" />
<CheckBox <CheckBox
android:id="@+id/cbSearchText" android:id="@+id/cbSearchText"
@ -264,18 +277,5 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbHeaders" /> app:layout_constraintTop_toBottomOf="@id/cbHeaders" />
<CheckBox
android:id="@+id/cbRule"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:drawableEnd="@drawable/twotone_filter_alt_24"
android:drawablePadding="6dp"
android:text="@string/title_message_rule"
android:textAppearance="@style/TextAppearance.AppCompat.Small"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cbUnsubscribe" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</eu.faircode.email.ScrollViewEx> </eu.faircode.email.ScrollViewEx>

View File

@ -5,140 +5,148 @@
android:icon="@drawable/twotone_smart_button_24" android:icon="@drawable/twotone_smart_button_24"
android:title="@string/title_configure_buttons" /> android:title="@string/title_configure_buttons" />
<item <group android:id="@+id/group_operations">
android:id="@+id/menu_unseen" <item
android:title="@string/title_unseen" /> android:id="@+id/menu_unseen"
android:title="@string/title_unseen" />
<item <item
android:id="@+id/menu_snooze" android:id="@+id/menu_snooze"
android:icon="@drawable/twotone_timelapse_24" android:icon="@drawable/twotone_timelapse_24"
android:title="@string/title_snooze" /> android:title="@string/title_snooze" />
<item <item
android:id="@+id/menu_hide" android:id="@+id/menu_hide"
android:title="@string/title_hide" /> android:title="@string/title_hide" />
<item <item
android:id="@+id/menu_flag_color" android:id="@+id/menu_flag_color"
android:icon="@drawable/twotone_auto_awesome_24" android:icon="@drawable/twotone_auto_awesome_24"
android:title="@string/title_flag_color" /> android:title="@string/title_flag_color" />
<item <item
android:id="@+id/menu_set_importance" android:id="@+id/menu_set_importance"
android:icon="@drawable/baseline_arrow_upward_24" android:icon="@drawable/baseline_arrow_upward_24"
android:title="@string/title_set_importance"> android:title="@string/title_set_importance">
<menu> <menu>
<item <item
android:id="@+id/menu_set_importance_high" android:id="@+id/menu_set_importance_high"
android:icon="@drawable/baseline_arrow_upward_24" android:icon="@drawable/baseline_arrow_upward_24"
android:title="@string/title_importance_high" /> android:title="@string/title_importance_high" />
<item <item
android:id="@+id/menu_set_importance_normal" android:id="@+id/menu_set_importance_normal"
android:icon="@drawable/twotone_horizontal_rule_24" android:icon="@drawable/twotone_horizontal_rule_24"
android:title="@string/title_importance_normal" /> android:title="@string/title_importance_normal" />
<item <item
android:id="@+id/menu_set_importance_low" android:id="@+id/menu_set_importance_low"
android:icon="@drawable/baseline_arrow_downward_24" android:icon="@drawable/baseline_arrow_downward_24"
android:title="@string/title_importance_low" /> android:title="@string/title_importance_low" />
</menu> </menu>
</item> </item>
<item <item
android:id="@+id/menu_move_to" android:id="@+id/menu_move_to"
android:icon="@drawable/twotone_drive_file_move_24" android:icon="@drawable/twotone_drive_file_move_24"
android:title="@string/title_move_to" /> android:title="@string/title_move_to" />
<item <item
android:id="@+id/menu_copy_to" android:id="@+id/menu_copy_to"
android:icon="@drawable/twotone_file_copy_24" android:icon="@drawable/twotone_file_copy_24"
android:title="@string/title_copy_to" /> android:title="@string/title_copy_to" />
<item <item
android:id="@+id/menu_delete" android:id="@+id/menu_delete"
android:icon="@drawable/twotone_delete_forever_24" android:icon="@drawable/twotone_delete_forever_24"
android:title="@string/title_delete_permanently" /> android:title="@string/title_delete_permanently" />
</group>
<item <group android:id="@+id/group_properties">
android:id="@+id/menu_resync" <item
android:icon="@drawable/twotone_sync_24" android:id="@+id/menu_edit_notes"
android:title="@string/title_resync" /> android:icon="@drawable/twotone_sticky_note_2_24"
android:title="@string/title_edit_notes" />
<item <item
android:id="@+id/menu_edit_notes" android:id="@+id/menu_create_rule"
android:icon="@drawable/twotone_sticky_note_2_24" android:icon="@drawable/twotone_filter_alt_24"
android:title="@string/title_edit_notes" /> android:title="@string/title_create_rule" />
<item <item
android:id="@+id/menu_search_in_text" android:id="@+id/menu_manage_keywords"
android:icon="@drawable/twotone_search_24" android:icon="@drawable/twotone_label_important_24"
android:title="@string/title_search_in_text" /> android:title="@string/title_manage_keywords" />
<item <item
android:id="@+id/menu_create_rule" android:id="@+id/menu_search_in_text"
android:icon="@drawable/twotone_filter_alt_24" android:icon="@drawable/twotone_search_24"
android:title="@string/title_create_rule" /> android:title="@string/title_search_in_text" />
</group>
<item <group android:id="@+id/group_sharing">
android:id="@+id/menu_manage_keywords" <item
android:icon="@drawable/twotone_label_important_24" android:id="@+id/menu_event"
android:title="@string/title_manage_keywords" /> android:icon="@drawable/twotone_event_24"
android:title="@string/title_event" />
<item <item
android:id="@+id/menu_event" android:id="@+id/menu_share"
android:icon="@drawable/twotone_event_24" android:icon="@drawable/twotone_share_24"
android:title="@string/title_event" /> android:title="@string/title_share" />
<item <item
android:id="@+id/menu_share" android:id="@+id/menu_pin"
android:icon="@drawable/twotone_share_24" android:icon="@drawable/twotone_push_pin_24"
android:title="@string/title_share" /> android:title="@string/title_pin" />
<item <item
android:id="@+id/menu_pin" android:id="@+id/menu_print"
android:icon="@drawable/twotone_push_pin_24" android:icon="@drawable/twotone_print_24"
android:title="@string/title_pin" /> android:title="@string/title_print" />
</group>
<item <group android:id="@+id/group_advanced">
android:id="@+id/menu_print" <item
android:icon="@drawable/twotone_print_24" android:id="@+id/menu_show_headers"
android:title="@string/title_print" /> android:checkable="true"
android:icon="@drawable/baseline_code_24"
android:title="@string/title_show_headers" />
<item <item
android:id="@+id/menu_show_headers" android:id="@+id/menu_share_as_html"
android:checkable="true" android:icon="@drawable/twotone_source_24"
android:icon="@drawable/baseline_code_24" android:title="@string/title_share_as_html" />
android:title="@string/title_show_headers" />
<item <item
android:id="@+id/menu_share_as_html" android:id="@+id/menu_raw_save"
android:icon="@drawable/twotone_source_24" android:enabled="false"
android:title="@string/title_share_as_html" /> android:icon="@drawable/twotone_save_24"
android:title="@string/title_raw_save" />
<item <item
android:id="@+id/menu_raw_save" android:id="@+id/menu_raw_send"
android:enabled="false" android:icon="@drawable/twotone_attachment_24"
android:icon="@drawable/twotone_save_24" android:title="@string/title_raw_send">
android:title="@string/title_raw_save" /> <menu>
<item
android:id="@+id/menu_raw_send_message"
android:enabled="false"
android:title="@string/title_raw_send_message" />
<item <item
android:id="@+id/menu_raw_send" android:id="@+id/menu_raw_send_thread"
android:icon="@drawable/twotone_attachment_24" android:enabled="false"
android:title="@string/title_raw_send"> android:title="@string/title_raw_send_thread" />
<menu> </menu>
<item </item>
android:id="@+id/menu_raw_send_message"
android:enabled="false"
android:title="@string/title_raw_send_message" />
<item <item
android:id="@+id/menu_raw_send_thread" android:id="@+id/menu_resync"
android:enabled="false" android:icon="@drawable/twotone_sync_24"
android:title="@string/title_raw_send_thread" /> android:title="@string/title_resync" />
</menu>
</item>
<item <item
android:id="@+id/menu_log" android:id="@+id/menu_log"
android:icon="@drawable/twotone_dns_24" android:icon="@drawable/twotone_dns_24"
android:title="@string/title_log" /> android:title="@string/title_log" />
</group>
</menu> </menu>