Move signature below replied/forwarded message

pull/172/head
M66B 5 years ago
parent 8abab51d83
commit 38398fefdc

@ -3178,9 +3178,9 @@ public class FragmentCompose extends FragmentBase {
File file = data.draft.getFile(context); File file = data.draft.getFile(context);
Document doc = JsoupEx.parse(Helper.readText(file)); Document doc = JsoupEx.parse(Helper.readText(file));
doc.select("div[fairemail=signature]").remove();
Elements ref = doc.select("div[fairemail=reference]"); Elements ref = doc.select("div[fairemail=reference]");
ref.remove(); ref.remove();
doc.select("div[fairemail=signature]").remove();
File refFile = data.draft.getRefFile(context); File refFile = data.draft.getRefFile(context);
if (refFile.exists()) { if (refFile.exists()) {
@ -3190,14 +3190,14 @@ public class FragmentCompose extends FragmentBase {
Document document = HtmlHelper.sanitize(context, doc.html(), true, false); Document document = HtmlHelper.sanitize(context, doc.html(), true, false);
for (Element e : ref)
document.body().appendChild(e);
if (data.draft.identity != null) { if (data.draft.identity != null) {
EntityIdentity identity = db.identity().getIdentity(data.draft.identity); EntityIdentity identity = db.identity().getIdentity(data.draft.identity);
addSignature(context, document, data.draft, identity); addSignature(context, document, data.draft, identity);
} }
for (Element e : ref)
document.body().appendChild(e);
String html = JsoupEx.parse(document.html()).html(); String html = JsoupEx.parse(document.html()).html();
Helper.writeText(file, html); Helper.writeText(file, html);
Helper.writeText(data.draft.getFile(context, data.draft.revision), html); Helper.writeText(data.draft.getFile(context, data.draft.revision), html);
@ -3579,26 +3579,26 @@ public class FragmentCompose extends FragmentBase {
(extras != null && extras.containsKey("html"))) { (extras != null && extras.containsKey("html"))) {
dirty = true; dirty = true;
doc.select("div[fairemail=signature]").remove();
Elements ref = doc.select("div[fairemail=reference]"); Elements ref = doc.select("div[fairemail=reference]");
ref.remove(); ref.remove();
doc.select("div[fairemail=signature]").remove();
// Get saved body // Get saved body
Document d; Document d;
if (extras != null && extras.containsKey("html")) { if (extras != null && extras.containsKey("html")) {
// Save current revision // Save current revision
Document c = JsoupEx.parse(body); Document c = JsoupEx.parse(body);
addSignature(context, c, draft, identity);
for (Element e : ref) for (Element e : ref)
c.body().appendChild(e); c.body().appendChild(e);
addSignature(context, c, draft, identity);
Helper.writeText(draft.getFile(context, draft.revision), c.html()); Helper.writeText(draft.getFile(context, draft.revision), c.html());
d = JsoupEx.parse(extras.getString("html")); d = JsoupEx.parse(extras.getString("html"));
} else { } else {
d = JsoupEx.parse(body); d = JsoupEx.parse(body);
addSignature(context, d, draft, identity);
for (Element e : ref) for (Element e : ref)
d.body().appendChild(e); d.body().appendChild(e);
addSignature(context, d, draft, identity);
} }
body = d.html(); body = d.html();
@ -3679,8 +3679,9 @@ public class FragmentCompose extends FragmentBase {
for (String text : Helper.getStrings(context, R.string.title_attachment_keywords)) for (String text : Helper.getStrings(context, R.string.title_attachment_keywords))
keywords.addAll(Arrays.asList(text.split(","))); keywords.addAll(Arrays.asList(text.split(",")));
d.select("div[fairemail=signature]").remove();
d.select("div[fairemail=reference]").remove(); d.select("div[fairemail=reference]").remove();
d.select("div[fairemail=signature]").remove();
String text = d.text(); String text = d.text();
for (String keyword : keywords) for (String keyword : keywords)
if (text.matches("(?si).*\\b" + Pattern.quote(keyword.trim()) + "\\b.*")) { if (text.matches("(?si).*\\b" + Pattern.quote(keyword.trim()) + "\\b.*")) {
@ -3954,9 +3955,9 @@ public class FragmentCompose extends FragmentBase {
throw new IllegalArgumentException(context.getString(R.string.title_no_body)); throw new IllegalArgumentException(context.getString(R.string.title_no_body));
Document doc = JsoupEx.parse(Helper.readText(draft.getFile(context))); Document doc = JsoupEx.parse(Helper.readText(draft.getFile(context)));
doc.select("div[fairemail=signature]").remove();
Elements ref = doc.select("div[fairemail=reference]"); Elements ref = doc.select("div[fairemail=reference]");
ref.remove(); ref.remove();
doc.select("div[fairemail=signature]").remove();
Spanned spannedBody = HtmlHelper.fromHtml(doc.html(), new Html.ImageGetter() { Spanned spannedBody = HtmlHelper.fromHtml(doc.html(), new Html.ImageGetter() {
@Override @Override

@ -484,7 +484,7 @@ public class MessageHelper {
// When sending message // When sending message
if (identity != null) if (identity != null)
document.select("div[fairemail=signature],div[fairemail=reference]").removeAttr("fairemail"); document.select("div[fairemail=reference],div[fairemail=signature]").removeAttr("fairemail");
// multipart/mixed // multipart/mixed
// multipart/related // multipart/related

Loading…
Cancel
Save