From a751f0624273892ea2fc5ca69b01aaf523edcc8e Mon Sep 17 00:00:00 2001 From: M66B Date: Fri, 24 Nov 2023 20:17:34 +0100 Subject: [PATCH] Added print margin of 1 cm --- .../faircode/email/FragmentDialogPrint.java | 21 ++++++++++++++++++- app/src/main/res/layout/dialog_print.xml | 13 +++++++++++- app/src/main/res/values/strings.xml | 1 + 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogPrint.java b/app/src/main/java/eu/faircode/email/FragmentDialogPrint.java index b51e45d4ce..aedf05310c 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogPrint.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogPrint.java @@ -78,6 +78,7 @@ public class FragmentDialogPrint extends FragmentDialogBase { CheckBox cbHeader = dview.findViewById(R.id.cbHeader); CheckBox cbImages = dview.findViewById(R.id.cbImages); CheckBox cbBlockQuotes = dview.findViewById(R.id.cbBlockQuotes); + CheckBox cbMargin = dview.findViewById(R.id.cbMargin); CheckBox cbNotAgain = dview.findViewById(R.id.cbNotAgain); cbHeader.setChecked(prefs.getBoolean("print_html_header", true)); @@ -104,6 +105,14 @@ public class FragmentDialogPrint extends FragmentDialogBase { } }); + cbMargin.setChecked(prefs.getBoolean("print_html_margins", true)); + cbMargin.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + prefs.edit().putBoolean("print_html_margins", isChecked).apply(); + } + }); + cbNotAgain.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { @@ -138,10 +147,12 @@ public class FragmentDialogPrint extends FragmentDialogBase { boolean print_html_header = prefs.getBoolean("print_html_header", true); boolean print_html_images = prefs.getBoolean("print_html_images", true); boolean print_html_block_quotes = prefs.getBoolean("print_html_block_quotes", true); + boolean print_html_margins = prefs.getBoolean("print_html_margins", true); args.putBoolean("print_html_header", print_html_header); args.putBoolean("print_html_images", print_html_images); args.putBoolean("print_html_block_quotes", print_html_block_quotes); + args.putBoolean("print_html_margins", print_html_margins); new SimpleTask() { @Override @@ -151,6 +162,7 @@ public class FragmentDialogPrint extends FragmentDialogBase { boolean print_html_header = args.getBoolean("print_html_header"); boolean print_html_images = args.getBoolean("print_html_images"); boolean print_html_block_quotes = args.getBoolean("print_html_block_quotes"); + boolean print_html_margins = args.getBoolean("print_html_margins"); CharSequence selected = args.getCharSequence("selected"); boolean draft = args.getBoolean("draft"); @@ -193,6 +205,13 @@ public class FragmentDialogPrint extends FragmentDialogBase { "padding-left: 0; padding-right: 0;")); } + if (print_html_margins) { + Element body = document.body(); + String style = body.attr("style"); + body.attr("style", HtmlHelper.mergeStyles(style, + "margin: 1cm !important;")); // 0.4 inch + } + HtmlHelper.markText(document); HtmlHelper.embedInlineImages(context, id, document, true); @@ -350,7 +369,7 @@ public class FragmentDialogPrint extends FragmentDialogBase { } args.putLong("received", message.received); - return new String[]{message.subject, document.body().html()}; + return new String[]{message.subject, document.html()}; } @Override diff --git a/app/src/main/res/layout/dialog_print.xml b/app/src/main/res/layout/dialog_print.xml index 35f6af01aa..c04b0e66d9 100644 --- a/app/src/main/res/layout/dialog_print.xml +++ b/app/src/main/res/layout/dialog_print.xml @@ -77,6 +77,17 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tvImagesRemark" /> + + + app:layout_constraintTop_toBottomOf="@id/cbMargin" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 3fb7381966..7de7d8890a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1440,6 +1440,7 @@ Print images Downloading images might take some time Print block quotes lines + Add a margin Show headers Show source Save raw message