mirror of
https://github.com/M66B/FairEmail.git
synced 2026-01-05 12:24:26 +01:00
Added option to automatically hide toolbar
This commit is contained in:
@@ -970,7 +970,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
|
||||
vSeparatorBody.setVisibility(View.VISIBLE);
|
||||
|
||||
initToolbar();
|
||||
initToolbar(message);
|
||||
|
||||
ibFull.setVisibility(View.GONE);
|
||||
ibImages.setVisibility(View.GONE);
|
||||
@@ -1483,16 +1483,19 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
break;
|
||||
|
||||
case R.id.ibExpander:
|
||||
onToggleToolbar();
|
||||
onToggleToolbar(message);
|
||||
break;
|
||||
case R.id.ibFull:
|
||||
onShowFull(message);
|
||||
autoToolbar(message);
|
||||
break;
|
||||
case R.id.ibImages:
|
||||
onShowImages(message);
|
||||
autoToolbar(message);
|
||||
break;
|
||||
case R.id.ibDecrypt:
|
||||
onActionDecrypt(message);
|
||||
autoToolbar(message);
|
||||
break;
|
||||
|
||||
case R.id.ibReply:
|
||||
@@ -1500,21 +1503,25 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
break;
|
||||
case R.id.ibForward:
|
||||
onActionForward(message);
|
||||
autoToolbar(message);
|
||||
break;
|
||||
case R.id.ibArchive:
|
||||
if (EntityFolder.JUNK.equals(message.folderType))
|
||||
onActionMoveJunk(message);
|
||||
else
|
||||
onActionArchive(message);
|
||||
autoToolbar(message);
|
||||
break;
|
||||
case R.id.ibMove:
|
||||
if (EntityFolder.OUTBOX.equals(message.folderType))
|
||||
onActionMoveOutbox(message);
|
||||
else
|
||||
onActionMove(message, false);
|
||||
autoToolbar(message);
|
||||
break;
|
||||
case R.id.ibDelete:
|
||||
onActionDelete(message);
|
||||
autoToolbar(message);
|
||||
break;
|
||||
case R.id.ibMore:
|
||||
onActionMore(message);
|
||||
@@ -1882,18 +1889,18 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
bindExpanded(message);
|
||||
}
|
||||
|
||||
private void onToggleToolbar() {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean toolbar = prefs.getBoolean("toolbar", true);
|
||||
prefs.edit().putBoolean("toolbar", !toolbar).apply();
|
||||
initToolbar();
|
||||
private void onToggleToolbar(TupleMessageEx message) {
|
||||
boolean toolbar = !properties.getValue("toolbar", message.id);
|
||||
properties.setValue("toolbar", message.id, toolbar);
|
||||
initToolbar(message);
|
||||
}
|
||||
|
||||
private void initToolbar() {
|
||||
private void initToolbar(TupleMessageEx message) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean toolbar = prefs.getBoolean("toolbar", true);
|
||||
boolean cards = prefs.getBoolean("cards", true);
|
||||
|
||||
boolean toolbar = properties.getValue("toolbar", message.id);
|
||||
|
||||
ConstraintLayout.LayoutParams lparam = (ConstraintLayout.LayoutParams) ibExpander.getLayoutParams();
|
||||
lparam.setMarginEnd(cards ? 0 : Helper.dp2pixels(ibExpander.getContext(), 6));
|
||||
ibExpander.setLayoutParams(lparam);
|
||||
@@ -1924,6 +1931,15 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
}
|
||||
}
|
||||
|
||||
private void autoToolbar(TupleMessageEx message) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean autotoolbar = prefs.getBoolean("autotoolbar", false);
|
||||
if (autotoolbar) {
|
||||
properties.setValue("toolbar", message.id, false);
|
||||
initToolbar(message);
|
||||
}
|
||||
}
|
||||
|
||||
private void expand(View view, boolean cards) {
|
||||
int dp6 = Helper.dp2pixels(view.getContext(), 6);
|
||||
int dp36 = Helper.dp2pixels(view.getContext(), 36);
|
||||
@@ -2140,6 +2156,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem target) {
|
||||
autoToolbar(message);
|
||||
switch (target.getItemId()) {
|
||||
case R.id.menu_reply_to_sender:
|
||||
onMenuReply(message, "reply");
|
||||
@@ -2381,6 +2398,7 @@ public class AdapterMessage extends RecyclerView.Adapter<AdapterMessage.ViewHold
|
||||
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
|
||||
@Override
|
||||
public boolean onMenuItemClick(MenuItem target) {
|
||||
autoToolbar(message);
|
||||
switch (target.getItemId()) {
|
||||
case R.id.menu_editasnew:
|
||||
onMenuEditAsNew(message);
|
||||
|
||||
@@ -1127,6 +1127,10 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences.
|
||||
return values.get(name).contains(id);
|
||||
else if ("addresses".equals(name))
|
||||
return !addresses;
|
||||
else if ("toolbar".equals(name)) {
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
|
||||
return !prefs.getBoolean("autotoolbar", false);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
private SwitchCompat swAutoScroll;
|
||||
private SwitchCompat swSwipeNav;
|
||||
private SwitchCompat swDoubleTap;
|
||||
private SwitchCompat swAutoToolbar;
|
||||
private SwitchCompat swAutoExpand;
|
||||
private SwitchCompat swAutoClose;
|
||||
private Spinner spOnClose;
|
||||
@@ -53,7 +54,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
private SwitchCompat swDisableTracking;
|
||||
|
||||
private final static String[] RESET_OPTIONS = new String[]{
|
||||
"pull", "autoscroll", "swipenav", "doubletap", "autoexpand", "autoclose", "onclose",
|
||||
"pull", "autoscroll", "swipenav", "doubletap", "autotoolbar", "autoexpand", "autoclose", "onclose",
|
||||
"collapse", "autoread", "automove", "authentication", "disable_tracking"
|
||||
};
|
||||
|
||||
@@ -71,6 +72,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
swAutoScroll = view.findViewById(R.id.swAutoScroll);
|
||||
swSwipeNav = view.findViewById(R.id.swSwipeNav);
|
||||
swDoubleTap = view.findViewById(R.id.swDoubleTap);
|
||||
swAutoToolbar = view.findViewById(R.id.swAutoToolbar);
|
||||
swAutoExpand = view.findViewById(R.id.swAutoExpand);
|
||||
swAutoClose = view.findViewById(R.id.swAutoClose);
|
||||
spOnClose = view.findViewById(R.id.spOnClose);
|
||||
@@ -114,6 +116,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
}
|
||||
});
|
||||
|
||||
swAutoToolbar.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
prefs.edit().putBoolean("autotoolbar", checked).apply();
|
||||
}
|
||||
});
|
||||
|
||||
swAutoExpand.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
@@ -230,6 +239,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe
|
||||
swAutoScroll.setChecked(prefs.getBoolean("autoscroll", false));
|
||||
swSwipeNav.setChecked(prefs.getBoolean("swipenav", true));
|
||||
swDoubleTap.setChecked(prefs.getBoolean("doubletap", false));
|
||||
swAutoToolbar.setChecked(prefs.getBoolean("autotoolbar", false));
|
||||
swAutoExpand.setChecked(prefs.getBoolean("autoexpand", true));
|
||||
swAutoClose.setChecked(prefs.getBoolean("autoclose", true));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user