mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-09 18:43:23 +02:00
Added option to disable collapsing on marking read/unread
This commit is contained in:
@@ -286,6 +286,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
private boolean authentication_indicator;
|
||||
|
||||
private boolean autoclose_unseen;
|
||||
private boolean collapse_marked;
|
||||
|
||||
private boolean language_detection;
|
||||
private List<String> languages;
|
||||
@@ -4989,10 +4990,10 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
|
||||
message.ui_seen = args.getBoolean("seen");
|
||||
message.unseen = (message.ui_seen ? 0 : message.count);
|
||||
if (!message.ui_seen &&
|
||||
(autoclose_unseen || getItemCount() == 1))
|
||||
|
||||
if (!message.ui_seen && autoclose_unseen)
|
||||
properties.finish();
|
||||
else
|
||||
else if (collapse_marked)
|
||||
properties.setExpanded(message, false, true);
|
||||
}
|
||||
|
||||
@@ -5923,6 +5924,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
this.authentication_indicator = prefs.getBoolean("authentication_indicator", false);
|
||||
this.language_detection = prefs.getBoolean("language_detection", false);
|
||||
this.autoclose_unseen = prefs.getBoolean("autoclose_unseen", false);
|
||||
this.collapse_marked = prefs.getBoolean("collapse_marked", true);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
languages = new ArrayList<>();
|
||||
|
||||
@@ -84,6 +84,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
private TextView tvOnClose;
|
||||
private Spinner spOnClose;
|
||||
private SwitchCompat swAutoCloseUnseen;
|
||||
private SwitchCompat swCollapseMarked;
|
||||
private Spinner spUndoTimeout;
|
||||
private SwitchCompat swCollapseMultiple;
|
||||
private SwitchCompat swAutoRead;
|
||||
@@ -101,7 +102,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
"pull", "autoscroll", "quick_filter", "quick_scroll", "swipe_sensitivity",
|
||||
"doubletap", "swipenav", "volumenav", "reversed", "swipe_close", "swipe_move",
|
||||
"autoexpand", "expand_first", "expand_all", "expand_one", "collapse_multiple",
|
||||
"autoclose", "onclose", "autoclose_unseen",
|
||||
"autoclose", "onclose", "autoclose_unseen", "collapse_marked",
|
||||
"undo_timeout",
|
||||
"autoread", "flag_snoozed", "autounflag", "auto_important", "reset_importance"
|
||||
};
|
||||
@@ -144,6 +145,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
tvOnClose = view.findViewById(R.id.tvOnClose);
|
||||
spOnClose = view.findViewById(R.id.spOnClose);
|
||||
swAutoCloseUnseen = view.findViewById(R.id.swAutoCloseUnseen);
|
||||
swCollapseMarked = view.findViewById(R.id.swCollapseMarked);
|
||||
spUndoTimeout = view.findViewById(R.id.spUndoTimeout);
|
||||
swAutoRead = view.findViewById(R.id.swAutoRead);
|
||||
swFlagSnoozed = view.findViewById(R.id.swFlagSnoozed);
|
||||
@@ -396,6 +398,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
}
|
||||
});
|
||||
|
||||
swCollapseMarked.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
prefs.edit().putBoolean("collapse_marked", checked).apply();
|
||||
}
|
||||
});
|
||||
|
||||
spUndoTimeout.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
|
||||
@@ -535,6 +544,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
spOnClose.setEnabled(!swAutoClose.isChecked());
|
||||
|
||||
swAutoCloseUnseen.setChecked(prefs.getBoolean("autoclose_unseen", false));
|
||||
swCollapseMarked.setChecked(prefs.getBoolean("collapse_marked", true));
|
||||
|
||||
int undo_timeout = prefs.getInt("undo_timeout", 5000);
|
||||
int[] undoValues = getResources().getIntArray(R.array.undoValues);
|
||||
|
||||
Reference in New Issue
Block a user