mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-06 00:53:26 +02:00
Added option to show send button at the top
This commit is contained in:
@@ -1936,6 +1936,27 @@ public class FragmentCompose extends FragmentBase {
|
||||
});
|
||||
menu.findItem(R.id.menu_translate).setActionView(ibTranslate);
|
||||
|
||||
ImageButton ibSend = (ImageButton) infl.inflate(R.layout.action_button, null);
|
||||
ibSend.setId(View.generateViewId());
|
||||
ibSend.setImageResource(R.drawable.twotone_send_24);
|
||||
ibSend.setContentDescription(getString(R.string.title_translate));
|
||||
ibSend.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
onAction(R.id.action_check, "menu:send");
|
||||
}
|
||||
});
|
||||
ibSend.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
Bundle args = new Bundle();
|
||||
args.putBoolean("force_dialog", true);
|
||||
onAction(R.id.action_check, args, "menu:send:force");
|
||||
return true;
|
||||
}
|
||||
});
|
||||
menu.findItem(R.id.menu_send).setActionView(ibSend);
|
||||
|
||||
ImageButton ibZoom = (ImageButton) infl.inflate(R.layout.action_button, null);
|
||||
ibZoom.setId(View.generateViewId());
|
||||
ibZoom.setImageResource(R.drawable.twotone_format_size_24);
|
||||
@@ -1959,12 +1980,21 @@ public class FragmentCompose extends FragmentBase {
|
||||
|
||||
final Context context = getContext();
|
||||
|
||||
menu.findItem(R.id.menu_encrypt).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_translate).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_translate).setVisible(DeepL.isAvailable(context));
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean send_at_top = prefs.getBoolean("send_at_top", false);
|
||||
boolean save_drafts = prefs.getBoolean("save_drafts", true);
|
||||
boolean send_chips = prefs.getBoolean("send_chips", true);
|
||||
boolean send_dialog = prefs.getBoolean("send_dialog", true);
|
||||
boolean image_dialog = prefs.getBoolean("image_dialog", true);
|
||||
boolean experiments = prefs.getBoolean("experiments", false);
|
||||
|
||||
menu.findItem(R.id.menu_ai).setEnabled(state == State.LOADED && !chatting);
|
||||
((ImageButton) menu.findItem(R.id.menu_ai).getActionView()).setEnabled(!chatting);
|
||||
menu.findItem(R.id.menu_ai).setVisible(AI.isAvailable(context));
|
||||
menu.findItem(R.id.menu_encrypt).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_translate).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_translate).setVisible(DeepL.isAvailable(context));
|
||||
menu.findItem(R.id.menu_send).setVisible(send_at_top);
|
||||
menu.findItem(R.id.menu_zoom).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_style).setEnabled(state == State.LOADED);
|
||||
menu.findItem(R.id.menu_media).setEnabled(state == State.LOADED);
|
||||
@@ -2021,13 +2051,6 @@ public class FragmentCompose extends FragmentBase {
|
||||
ibZoom.setAlpha(state == State.LOADED ? 1f : Helper.LOW_LIGHT);
|
||||
ibZoom.setEnabled(state == State.LOADED);
|
||||
|
||||
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
|
||||
boolean save_drafts = prefs.getBoolean("save_drafts", true);
|
||||
boolean send_chips = prefs.getBoolean("send_chips", true);
|
||||
boolean send_dialog = prefs.getBoolean("send_dialog", true);
|
||||
boolean image_dialog = prefs.getBoolean("image_dialog", true);
|
||||
boolean experiments = prefs.getBoolean("experiments", false);
|
||||
|
||||
menu.findItem(R.id.menu_save_drafts).setChecked(save_drafts);
|
||||
menu.findItem(R.id.menu_send_chips).setChecked(send_chips);
|
||||
menu.findItem(R.id.menu_send_dialog).setChecked(send_dialog);
|
||||
@@ -2073,6 +2096,8 @@ public class FragmentCompose extends FragmentBase {
|
||||
}
|
||||
});
|
||||
|
||||
bottom_navigation.findViewById(R.id.action_send).setVisibility(send_at_top ? View.GONE : View.VISIBLE);
|
||||
|
||||
bottom_navigation.findViewById(R.id.action_send).setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
|
||||
@@ -113,6 +113,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
private SwitchCompat swSignatureForward;
|
||||
private Button btnEditSignature;
|
||||
|
||||
private SwitchCompat swSendAtTop;
|
||||
private SwitchCompat swAttachNew;
|
||||
private SwitchCompat swAutoLink;
|
||||
private SwitchCompat swPlainOnly;
|
||||
@@ -144,7 +145,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
"separate_reply", "extended_reply", "write_below", "quote_reply", "quote_limit",
|
||||
"resize_reply", "resize_paste",
|
||||
"signature_location", "signature_new", "signature_reply", "signature_reply_once", "signature_forward",
|
||||
"attach_new", "auto_link", "plain_only", "plain_only_reply",
|
||||
"send_at_top", "attach_new", "auto_link", "plain_only", "plain_only_reply",
|
||||
"format_flowed", "usenet_signature", "remove_signatures",
|
||||
"receipt_default", "receipt_type", "receipt_legacy",
|
||||
"forward_new",
|
||||
@@ -208,6 +209,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
swSignatureForward = view.findViewById(R.id.swSignatureForward);
|
||||
btnEditSignature = view.findViewById(R.id.btnEditSignature);
|
||||
|
||||
swSendAtTop = view.findViewById(R.id.swSendAtTop);
|
||||
swAttachNew = view.findViewById(R.id.swAttachNew);
|
||||
swAutoLink = view.findViewById(R.id.swAutoLink);
|
||||
swPlainOnly = view.findViewById(R.id.swPlainOnly);
|
||||
@@ -661,6 +663,13 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
}
|
||||
});
|
||||
|
||||
swSendAtTop.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
prefs.edit().putBoolean("send_at_top", checked).apply();
|
||||
}
|
||||
});
|
||||
|
||||
swAttachNew.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
@@ -952,6 +961,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
||||
swSignatureReplyOnce.setEnabled(swSignatureReply.isChecked());
|
||||
swSignatureForward.setChecked(prefs.getBoolean("signature_forward", true));
|
||||
|
||||
swSendAtTop.setChecked(prefs.getBoolean("send_at_top", false));
|
||||
swAttachNew.setChecked(prefs.getBoolean("attach_new", true));
|
||||
swAutoLink.setChecked(prefs.getBoolean("auto_link", false));
|
||||
swPlainOnly.setChecked(prefs.getBoolean("plain_only", false));
|
||||
|
||||
Reference in New Issue
Block a user