mirror of https://github.com/M66B/FairEmail.git
Added option for signature location
This commit is contained in:
parent
a680771bc3
commit
77e1f2ea83
|
@ -3178,9 +3178,9 @@ public class FragmentCompose extends FragmentBase {
|
|||
File file = data.draft.getFile(context);
|
||||
|
||||
Document doc = JsoupEx.parse(Helper.readText(file));
|
||||
doc.select("div[fairemail=signature]").remove();
|
||||
Elements ref = doc.select("div[fairemail=reference]");
|
||||
ref.remove();
|
||||
doc.select("div[fairemail=signature]").remove();
|
||||
|
||||
File refFile = data.draft.getRefFile(context);
|
||||
if (refFile.exists()) {
|
||||
|
@ -3190,13 +3190,19 @@ public class FragmentCompose extends FragmentBase {
|
|||
|
||||
Document document = HtmlHelper.sanitize(context, doc.html(), true, false);
|
||||
|
||||
EntityIdentity identity = null;
|
||||
if (data.draft.identity != null)
|
||||
identity = db.identity().getIdentity(data.draft.identity);
|
||||
boolean signature_end = prefs.getBoolean("signature_end", false);
|
||||
|
||||
if (!signature_end && identity != null)
|
||||
addSignature(context, document, data.draft, identity);
|
||||
|
||||
for (Element e : ref)
|
||||
document.body().appendChild(e);
|
||||
|
||||
if (data.draft.identity != null) {
|
||||
EntityIdentity identity = db.identity().getIdentity(data.draft.identity);
|
||||
if (signature_end && identity != null)
|
||||
addSignature(context, document, data.draft, identity);
|
||||
}
|
||||
|
||||
String html = JsoupEx.parse(document.html()).html();
|
||||
Helper.writeText(file, html);
|
||||
|
@ -3579,26 +3585,41 @@ public class FragmentCompose extends FragmentBase {
|
|||
(extras != null && extras.containsKey("html"))) {
|
||||
dirty = true;
|
||||
|
||||
doc.select("div[fairemail=signature]").remove();
|
||||
Elements ref = doc.select("div[fairemail=reference]");
|
||||
ref.remove();
|
||||
doc.select("div[fairemail=signature]").remove();
|
||||
|
||||
boolean signature_end = prefs.getBoolean("signature_end", false);
|
||||
|
||||
// Get saved body
|
||||
Document d;
|
||||
if (extras != null && extras.containsKey("html")) {
|
||||
// Save current revision
|
||||
Document c = JsoupEx.parse(body);
|
||||
|
||||
if (!signature_end)
|
||||
addSignature(context, c, draft, identity);
|
||||
|
||||
for (Element e : ref)
|
||||
c.body().appendChild(e);
|
||||
addSignature(context, c, draft, identity);
|
||||
|
||||
if (signature_end)
|
||||
addSignature(context, c, draft, identity);
|
||||
|
||||
Helper.writeText(draft.getFile(context, draft.revision), c.html());
|
||||
|
||||
d = JsoupEx.parse(extras.getString("html"));
|
||||
} else {
|
||||
d = JsoupEx.parse(body);
|
||||
|
||||
if (!signature_end)
|
||||
addSignature(context, d, draft, identity);
|
||||
|
||||
for (Element e : ref)
|
||||
d.body().appendChild(e);
|
||||
addSignature(context, d, draft, identity);
|
||||
|
||||
if (signature_end)
|
||||
addSignature(context, d, draft, identity);
|
||||
}
|
||||
|
||||
body = d.html();
|
||||
|
@ -3679,8 +3700,8 @@ public class FragmentCompose extends FragmentBase {
|
|||
for (String text : Helper.getStrings(context, R.string.title_attachment_keywords))
|
||||
keywords.addAll(Arrays.asList(text.split(",")));
|
||||
|
||||
d.select("div[fairemail=reference]").remove();
|
||||
d.select("div[fairemail=signature]").remove();
|
||||
d.select("div[fairemail=reference]").remove();
|
||||
|
||||
String text = d.text();
|
||||
for (String keyword : keywords)
|
||||
|
@ -3955,9 +3976,9 @@ public class FragmentCompose extends FragmentBase {
|
|||
throw new IllegalArgumentException(context.getString(R.string.title_no_body));
|
||||
|
||||
Document doc = JsoupEx.parse(Helper.readText(draft.getFile(context)));
|
||||
doc.select("div[fairemail=signature]").remove();
|
||||
Elements ref = doc.select("div[fairemail=reference]");
|
||||
ref.remove();
|
||||
doc.select("div[fairemail=signature]").remove();
|
||||
|
||||
Spanned spannedBody = HtmlHelper.fromHtml(doc.html(), new Html.ImageGetter() {
|
||||
@Override
|
||||
|
|
|
@ -50,6 +50,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
|||
private SwitchCompat swPrefixOnce;
|
||||
private SwitchCompat swExtendedReply;
|
||||
private SwitchCompat swQuoteReply;
|
||||
private SwitchCompat swSignatureEnd;
|
||||
private SwitchCompat swPlainOnly;
|
||||
private SwitchCompat swUsenetSignature;
|
||||
private SwitchCompat swResizeImages;
|
||||
|
@ -63,7 +64,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
|||
|
||||
private final static String[] RESET_OPTIONS = new String[]{
|
||||
"keyboard", "suggest_sent", "suggested_received",
|
||||
"prefix_once", "extended_reply", "quote_reply",
|
||||
"prefix_once", "extended_reply", "quote_reply", "signature_end",
|
||||
"plain_only", "usenet_signature",
|
||||
"resize_images", "resize_attachments", "send_reminders", "receipt_default", "resize", "lookup_mx", "send_delayed"
|
||||
};
|
||||
|
@ -85,6 +86,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
|||
swPrefixOnce = view.findViewById(R.id.swPrefixOnce);
|
||||
swExtendedReply = view.findViewById(R.id.swExtendedReply);
|
||||
swQuoteReply = view.findViewById(R.id.swQuoteReply);
|
||||
swSignatureEnd = view.findViewById(R.id.swSignatureEnd);
|
||||
swPlainOnly = view.findViewById(R.id.swPlainOnly);
|
||||
swUsenetSignature = view.findViewById(R.id.swUsenetSignature);
|
||||
swResizeImages = view.findViewById(R.id.swResizeImages);
|
||||
|
@ -152,6 +154,13 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
|||
}
|
||||
});
|
||||
|
||||
swSignatureEnd.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
prefs.edit().putBoolean("signature_end", checked).apply();
|
||||
}
|
||||
});
|
||||
|
||||
swPlainOnly.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton compoundButton, boolean checked) {
|
||||
|
@ -282,6 +291,7 @@ public class FragmentOptionsSend extends FragmentBase implements SharedPreferenc
|
|||
swPrefixOnce.setChecked(prefs.getBoolean("prefix_once", true));
|
||||
swExtendedReply.setChecked(prefs.getBoolean("extended_reply", false));
|
||||
swQuoteReply.setChecked(prefs.getBoolean("quote_reply", true));
|
||||
swSignatureEnd.setChecked(prefs.getBoolean("signature_end", false));
|
||||
swPlainOnly.setChecked(prefs.getBoolean("plain_only", false));
|
||||
swUsenetSignature.setChecked(prefs.getBoolean("usenet_signature", false));
|
||||
|
||||
|
|
|
@ -484,7 +484,7 @@ public class MessageHelper {
|
|||
|
||||
// When sending message
|
||||
if (identity != null)
|
||||
document.select("div[fairemail=reference],div[fairemail=signature]").removeAttr("fairemail");
|
||||
document.select("div[fairemail=signature],div[fairemail=reference]").removeAttr("fairemail");
|
||||
|
||||
// multipart/mixed
|
||||
// multipart/related
|
||||
|
|
|
@ -119,6 +119,17 @@
|
|||
app:layout_constraintTop_toBottomOf="@id/swExtendedReply"
|
||||
app:switchPadding="12dp" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/swSignatureEnd"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="12dp"
|
||||
android:text="@string/title_advanced_signature_end"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/swQuoteReply"
|
||||
app:switchPadding="12dp" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
android:id="@+id/swPlainOnly"
|
||||
android:layout_width="0dp"
|
||||
|
@ -127,7 +138,7 @@
|
|||
android:text="@string/title_advanced_plain_only"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/swQuoteReply"
|
||||
app:layout_constraintTop_toBottomOf="@id/swSignatureEnd"
|
||||
app:switchPadding="12dp" />
|
||||
|
||||
<androidx.appcompat.widget.SwitchCompat
|
||||
|
|
|
@ -265,6 +265,7 @@
|
|||
<string name="title_advanced_prefix_once">Prefix subject only once on replying or forwarding</string>
|
||||
<string name="title_advanced_extended_reply">Use extended reply/forward header</string>
|
||||
<string name="title_advanced_quote_reply">Quote replied text</string>
|
||||
<string name="title_advanced_signature_end">Add signature after quoted/forwarded message</string>
|
||||
<string name="title_advanced_plain_only">Send plain text only by default</string>
|
||||
<string name="title_advanced_usenet_signature">Usenet signature convention</string>
|
||||
<string name="title_advanced_resize_images">Automatically resize embedded images</string>
|
||||
|
|
Loading…
Reference in New Issue