diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java
index 3ad280e7f2..0e89297265 100644
--- a/app/src/main/java/eu/faircode/email/FragmentCompose.java
+++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java
@@ -45,6 +45,7 @@ import android.graphics.Color;
import android.graphics.ImageDecoder;
import android.graphics.Matrix;
import android.graphics.Rect;
+import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.GradientDrawable;
import android.net.ConnectivityManager;
@@ -273,6 +274,7 @@ public class FragmentCompose extends FragmentBase {
private int compose_color;
private String compose_font;
+ private boolean compose_monospaced;
private String display_font;
private boolean dsn = true;
private Integer encrypt = null;
@@ -337,6 +339,7 @@ public class FragmentCompose extends FragmentBase {
compose_color = prefs.getInt("compose_color", Color.TRANSPARENT);
compose_font = prefs.getString("compose_font", "");
+ compose_monospaced = prefs.getBoolean("compose_monospaced", false);
display_font = prefs.getString("display_font", "");
style = prefs.getBoolean("compose_style", false);
media = prefs.getBoolean("compose_media", true);
@@ -5953,6 +5956,16 @@ public class FragmentCompose extends FragmentBase {
draft.isPlainOnly() && !plain_only
? View.VISIBLE : View.GONE);
+ if (compose_monospaced) {
+ if (draft.isPlainOnly())
+ etBody.setTypeface(Typeface.MONOSPACE);
+ else {
+ Typeface tf = etBody.getTypeface();
+ if (tf == Typeface.MONOSPACE)
+ etBody.setTypeface(StyleHelper.getTypeface(compose_font, etBody.getContext()));
+ }
+ }
+
tvNoInternet.setTag(draft.content);
checkInternet();
}
diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java
index 4515ff0cfc..65440fb0f8 100644
--- a/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java
+++ b/app/src/main/java/eu/faircode/email/FragmentOptionsSend.java
@@ -84,6 +84,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
private ViewButtonColor btnComposeColor;
private Spinner spComposeFont;
+ private SwitchCompat swComposeMonospaced;
private SwitchCompat swPrefixOnce;
private SwitchCompat swPrefixCount;
private RadioGroup rgRe;
@@ -124,7 +125,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
"send_delayed",
"answer_single", "answer_action",
"sound_sent",
- "compose_color", "compose_font",
+ "compose_color", "compose_font", "compose_monospaced",
"prefix_once", "prefix_count", "alt_re", "alt_fwd",
"separate_reply", "extended_reply", "write_below", "quote_reply", "quote_limit", "resize_reply",
"signature_location", "signature_new", "signature_reply", "signature_reply_once", "signature_forward",
@@ -167,6 +168,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
btnComposeColor = view.findViewById(R.id.btnComposeColor);
spComposeFont = view.findViewById(R.id.spComposeFont);
+ swComposeMonospaced = view.findViewById(R.id.swComposeMonospaced);
swPrefixOnce = view.findViewById(R.id.swPrefixOnce);
swPrefixCount = view.findViewById(R.id.swPrefixCount);
rgRe = view.findViewById(R.id.rgRe);
@@ -435,6 +437,14 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
}
});
+ swComposeMonospaced.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
+ prefs.edit().putBoolean("compose_monospaced", checked).apply();
+ swPrefixCount.setEnabled(checked);
+ }
+ });
+
swPrefixOnce.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
@@ -770,6 +780,8 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
}
}
+ swComposeMonospaced.setChecked(prefs.getBoolean("compose_monospaced", false));
+
swPrefixOnce.setChecked(prefs.getBoolean("prefix_once", true));
swPrefixCount.setChecked(prefs.getBoolean("prefix_count", false));
swPrefixCount.setEnabled(swPrefixOnce.isChecked());
diff --git a/app/src/main/res/layout/fragment_options_send.xml b/app/src/main/res/layout/fragment_options_send.xml
index 8ee7c3679a..6067027905 100644
--- a/app/src/main/res/layout/fragment_options_send.xml
+++ b/app/src/main/res/layout/fragment_options_send.xml
@@ -457,6 +457,18 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tvComposeFont" />
+
+
Automatically save a draft after every sentence
Default text color
Default font
+ Use monospaced font for plain text messages
Automatically select identities for new messages
Prefix subject only once on replying or forwarding
Add count to reply prefix