Added optional keywords icon button

pull/185/head
M66B 4 years ago
parent eb49332b53
commit 2ad6d3b1e2

@ -424,6 +424,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
private ImageButton ibSeen;
private ImageButton ibAnswer;
private ImageButton ibLabels;
private ImageButton ibKeywords;
private ImageButton ibCopy;
private ImageButton ibMove;
private ImageButton ibArchive;
@ -634,6 +635,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibSeen = vsBody.findViewById(R.id.ibSeen);
ibAnswer = vsBody.findViewById(R.id.ibAnswer);
ibLabels = vsBody.findViewById(R.id.ibLabels);
ibKeywords = vsBody.findViewById(R.id.ibKeywords);
ibCopy = vsBody.findViewById(R.id.ibCopy);
ibMove = vsBody.findViewById(R.id.ibMove);
ibArchive = vsBody.findViewById(R.id.ibArchive);
@ -730,6 +732,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibSeen.setOnClickListener(this);
ibAnswer.setOnClickListener(this);
ibLabels.setOnClickListener(this);
ibKeywords.setOnClickListener(this);
ibCopy.setOnClickListener(this);
ibMove.setOnClickListener(this);
ibArchive.setOnClickListener(this);
@ -833,6 +836,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibSeen.setOnClickListener(null);
ibAnswer.setOnClickListener(null);
ibLabels.setOnClickListener(null);
ibKeywords.setOnClickListener(null);
ibCopy.setOnClickListener(null);
ibMove.setOnClickListener(null);
ibArchive.setOnClickListener(null);
@ -1311,6 +1315,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibSeen.setVisibility(View.GONE);
ibAnswer.setVisibility(View.GONE);
ibLabels.setVisibility(View.GONE);
ibKeywords.setVisibility(View.GONE);
ibCopy.setVisibility(View.GONE);
ibMove.setVisibility(View.GONE);
ibArchive.setVisibility(View.GONE);
@ -1447,6 +1452,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibSeen.setVisibility(View.GONE);
ibAnswer.setVisibility(View.GONE);
ibLabels.setVisibility(View.GONE);
ibKeywords.setVisibility(View.GONE);
ibCopy.setVisibility(View.GONE);
ibMove.setVisibility(View.GONE);
ibArchive.setVisibility(View.GONE);
@ -1576,6 +1582,8 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
message.accountProtocol == EntityAccount.TYPE_POP);
boolean junk = (move && (hasJunk && !inJunk));
boolean inbox = (move && (inArchive || inTrash || inJunk));
boolean keywords = (!(message.folderReadOnly || message.uid == null) &&
message.accountProtocol == EntityAccount.TYPE_IMAP);
boolean labels = (gmail && move && !inTrash && !inJunk && !outbox);
boolean seen = (!(message.folderReadOnly || message.uid == null) ||
message.accountProtocol == EntityAccount.TYPE_POP);
@ -1592,6 +1600,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
boolean button_archive = prefs.getBoolean("button_archive", true);
boolean button_move = prefs.getBoolean("button_move", true);
boolean button_copy = prefs.getBoolean("button_copy", false);
boolean button_keywords = prefs.getBoolean("button_keywords", false);
boolean button_seen = prefs.getBoolean("button_seen", false);
boolean button_event = prefs.getBoolean("button_event", false);
boolean button_print = prefs.getBoolean("button_print", false);
@ -1609,6 +1618,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
ibSeen.setVisibility(tools && button_seen && !outbox && seen ? View.VISIBLE : View.GONE);
ibAnswer.setVisibility(!tools || outbox || (!expand_all && expand_one) ? View.GONE : View.VISIBLE);
ibLabels.setVisibility(tools && labels_header && labels ? View.VISIBLE : View.GONE);
ibKeywords.setVisibility(tools && button_keywords && keywords ? View.VISIBLE : View.GONE);
ibCopy.setVisibility(tools && button_copy && move ? View.VISIBLE : View.GONE);
ibMove.setVisibility(tools && button_move && move ? View.VISIBLE : View.GONE);
ibArchive.setVisibility(tools && button_archive && archive ? View.VISIBLE : View.GONE);
@ -2888,6 +2898,9 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
case R.id.ibLabels:
onActionLabels(message);
break;
case R.id.ibKeywords:
onMenuManageKeywords(message);
break;
case R.id.ibCopy:
onActionMove(message, true);
break;
@ -3809,6 +3822,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
boolean button_archive = prefs.getBoolean("button_archive", true);
boolean button_move = prefs.getBoolean("button_move", true);
boolean button_copy = prefs.getBoolean("button_copy", false);
boolean button_keywords = prefs.getBoolean("button_keywords", false);
boolean button_seen = prefs.getBoolean("button_seen", false);
boolean button_event = prefs.getBoolean("button_event", false);
boolean button_print = prefs.getBoolean("button_print", false);
@ -3823,6 +3837,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
popupMenu.getMenu().findItem(R.id.menu_button_archive).setChecked(button_archive);
popupMenu.getMenu().findItem(R.id.menu_button_move).setChecked(button_move);
popupMenu.getMenu().findItem(R.id.menu_button_copy).setChecked(button_copy);
popupMenu.getMenu().findItem(R.id.menu_button_keywords).setChecked(button_keywords);
popupMenu.getMenu().findItem(R.id.menu_button_seen).setChecked(button_seen);
popupMenu.getMenu().findItem(R.id.menu_button_event).setChecked(button_event);
popupMenu.getMenu().findItem(R.id.menu_button_print).setChecked(button_print);
@ -3896,6 +3911,9 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
case R.id.menu_button_copy:
onMenuButton(message, "copy", target.isChecked());
return true;
case R.id.menu_button_keywords:
onMenuButton(message, "keywords", target.isChecked());
return true;
case R.id.menu_button_seen:
onMenuButton(message, "seen", target.isChecked());
return true;

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M3.5,18.99l11,0.01c0.67,0 1.27,-0.33 1.63,-0.84L20.5,12l-4.37,-6.16c-0.36,-0.51 -0.96,-0.84 -1.63,-0.84l-11,0.01L8.34,12 3.5,18.99z"/>
</vector>

@ -41,7 +41,7 @@
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginEnd="3dp"
app:constraint_referenced_ids="ibMore,ibInbox,ibJunk,ibTrash,ibArchive,ibMove,ibCopy,ibLabels,ibAnswer,ibSeen,ibEvent,ibPrint,ibUnsubscribe,ibRule,ibUndo"
app:constraint_referenced_ids="ibMore,ibInbox,ibJunk,ibTrash,ibArchive,ibMove,ibCopy,ibKeywords,ibLabels,ibAnswer,ibSeen,ibEvent,ibPrint,ibUnsubscribe,ibRule,ibUndo"
app:flow_horizontalBias="0"
app:flow_horizontalGap="3dp"
app:flow_horizontalStyle="packed"
@ -134,6 +134,16 @@
app:srcCompat="@drawable/baseline_file_copy_24"
tools:ignore="MissingConstraints" />
<ImageButton
android:id="@+id/ibKeywords"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="?android:attr/selectableItemBackgroundBorderless"
android:padding="6dp"
android:scaleType="fitCenter"
app:srcCompat="@drawable/baseline_label_important_24"
tools:ignore="MissingConstraints" />
<ImageButton
android:id="@+id/ibLabels"
android:layout_width="36dp"

@ -24,6 +24,10 @@
android:id="@+id/menu_button_copy"
android:checkable="true"
android:title="@string/title_copy_btn" />
<item
android:id="@+id/menu_button_keywords"
android:checkable="true"
android:title="@string/title_keywords_btn" />
<item
android:id="@+id/menu_button_seen"
android:checkable="true"

@ -815,6 +815,7 @@
<string name="title_spam">Spam</string>
<string name="title_move">Move</string>
<string name="title_copy_btn">Copy</string>
<string name="title_keywords_btn">Keywords</string>
<string name="title_unsubscribe">Unsubscribe</string>
<string name="title_message_rule">Create rule</string>
<string name="title_no_junk">Not spam</string>

Loading…
Cancel
Save