From d6debbb616bf5244f235256eab13c1cbbb08aa92 Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 21 Feb 2025 10:20:19 +0100 Subject: [PATCH] Allow keywords for POP3 --- .../java/eu/faircode/email/AdapterMessage.java | 6 +++--- .../email/FragmentDialogKeywordManage.java | 8 +++++++- .../java/eu/faircode/email/FragmentMessages.java | 15 ++++++++------- app/src/main/res/layout/dialog_keyword_manage.xml | 15 ++++++++++++++- app/src/main/res/values/strings.xml | 1 + 5 files changed, 33 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/AdapterMessage.java b/app/src/main/java/eu/faircode/email/AdapterMessage.java index 94842b4bb5..7e608c6add 100644 --- a/app/src/main/java/eu/faircode/email/AdapterMessage.java +++ b/app/src/main/java/eu/faircode/email/AdapterMessage.java @@ -2367,7 +2367,7 @@ public class AdapterMessage extends RecyclerView.Adapter() { diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index 3d6b19eefb..29ec3ec692 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -1851,8 +1851,9 @@ public class FragmentMessages extends FragmentBase ibKeywords.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + MoreResult result = (MoreResult) cardMore.getTag(); boolean more_clear = prefs.getBoolean("more_clear", true); - onActionManageKeywords(more_clear); + onActionManageKeywords(more_clear, (result != null && result.hasPop)); } }); @@ -4696,9 +4697,8 @@ public class FragmentMessages extends FragmentBase popupMenu.getMenu().add(Menu.FIRST, R.string.title_copy_to, order++, R.string.title_copy_to) .setIcon(R.drawable.twotone_file_copy_24); - if (!result.hasPop && result.hasImap) - popupMenu.getMenu().add(Menu.FIRST, R.string.title_manage_keywords, order++, R.string.title_manage_keywords) - .setIcon(R.drawable.twotone_label_important_24); + popupMenu.getMenu().add(Menu.FIRST, R.string.title_manage_keywords, order++, R.string.title_manage_keywords) + .setIcon(R.drawable.twotone_label_important_24); if (ids.length == 1) popupMenu.getMenu().add(Menu.FIRST, R.string.title_search_sender, order++, R.string.title_search_sender) @@ -4773,7 +4773,7 @@ public class FragmentMessages extends FragmentBase onActionMoveSelectionAccount(result.copyto.id, true, result.folders); return true; } else if (itemId == R.string.title_manage_keywords) { - onActionManageKeywords(false); + onActionManageKeywords(false, result.hasPop); return true; } else if (itemId == R.string.title_search_sender) { long[] ids = getSelection(); @@ -5296,9 +5296,10 @@ public class FragmentMessages extends FragmentBase fragment.show(getParentFragmentManager(), "messages:move"); } - private void onActionManageKeywords(boolean clear) { + private void onActionManageKeywords(boolean clear, boolean pop) { Bundle args = new Bundle(); args.putLongArray("ids", getSelection()); + args.putBoolean("pop", pop); FragmentDialogKeywordManage fragment = new FragmentDialogKeywordManage(); fragment.setArguments(args); @@ -7454,7 +7455,7 @@ public class FragmentMessages extends FragmentBase if (inbox) count++; - boolean keywords = (more_keywords && count < FragmentDialogQuickActions.MAX_QUICK_ACTIONS && !result.hasPop && result.hasImap); + boolean keywords = (more_keywords && count < FragmentDialogQuickActions.MAX_QUICK_ACTIONS); if (keywords) count++; diff --git a/app/src/main/res/layout/dialog_keyword_manage.xml b/app/src/main/res/layout/dialog_keyword_manage.xml index 15c5a75560..a55d962515 100644 --- a/app/src/main/res/layout/dialog_keyword_manage.xml +++ b/app/src/main/res/layout/dialog_keyword_manage.xml @@ -5,6 +5,19 @@ android:layout_height="wrap_content" android:padding="12dp"> + + + app:layout_constraintTop_toBottomOf="@+id/tvPop" /> Message Conversation Manage keywords + With POP3, keywords cannot be stored on the email server! Manage Gmail labels Add keyword Show inline attachments