Preview quotes: removed recognized quotes

pull/216/head
M66B 2 months ago
parent 101955f566
commit 4fd89437f2

@ -184,7 +184,7 @@ public class AI {
if (remove_signatures)
HtmlHelper.removeSignatures(d);
HtmlHelper.removeQuotes(d);
HtmlHelper.removeQuotes(d, true);
d = HtmlHelper.sanitizeView(context, d, false);

@ -437,7 +437,7 @@ public class EntityRule {
Document d = JsoupEx.parse(html);
if (skip_quotes)
HtmlHelper.removeQuotes(d);
HtmlHelper.removeQuotes(d, true);
if (jsoup) {
String selector = value.substring(JSOUP_PREFIX.length());
if (d.select(selector).isEmpty() != not)

@ -359,7 +359,7 @@ public class FragmentDialogTranslate extends FragmentDialogBase {
if (remove_signatures)
HtmlHelper.removeSignatures(d);
HtmlHelper.removeQuotes(d);
HtmlHelper.removeQuotes(d, true);
d = HtmlHelper.sanitizeView(context, d, false);

@ -2670,10 +2670,12 @@ public class HtmlHelper {
}
if (!preview_quotes) {
if (!removeQuotes(d, false)) {
Element top = d.select("blockquote").first();
if (top != null && top.previousElementSibling() == null)
top.remove();
}
}
for (Element bq : d.select("blockquote"))
bq.prependChild(new TextNode("> "));
@ -2875,51 +2877,54 @@ public class HtmlHelper {
});
}
static void removeQuotes(Document d) {
static boolean removeQuotes(Document d, boolean all) {
Elements quotes = d.body().select(".fairemail_quote");
if (quotes.size() > 0) {
if (!quotes.isEmpty()) {
quotes.remove();
return;
return true;
}
// Gmail
quotes = d.body().select(".gmail_quote");
if (quotes.size() > 0) {
if (!quotes.isEmpty()) {
quotes.remove();
return;
return true;
}
// Outlook: <div id="appendonsend">
quotes = d.body().select("div#appendonsend");
if (quotes.size() > 0) {
if (!quotes.isEmpty()) {
quotes.nextAll().remove();
quotes.remove();
return;
return true;
}
// ms-outlook-mobile
quotes = d.body().select("div#divRplyFwdMsg");
if (quotes.size() > 0) {
if (!quotes.isEmpty()) {
quotes.nextAll().remove();
quotes.remove();
return;
return true;
}
// Microsoft Word 15
quotes = d.body().select("div#mail-editor-reference-message-container");
if (quotes.size() > 0) {
if (!quotes.isEmpty()) {
quotes.remove();
return;
return true;
}
// Web.de: <div id="aqm-original"
quotes = d.body().select("div#aqm-original");
if (quotes.size() > 0) {
if (!quotes.isEmpty()) {
quotes.remove();
return;
return true;
}
d.select("blockquote").remove();
if (!all)
return false;
return !d.select("blockquote").remove().isEmpty();
}
static String truncate(String text, int at) {

Loading…
Cancel
Save