[evolution] Inline Forward headers bold in Plain Text mode
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution] Inline Forward headers bold in Plain Text mode
- Date: Wed, 13 Mar 2019 18:16:25 +0000 (UTC)
commit 83a7860ca6f05252be8aa546e1fee5aa6d6f768c
Author: Milan Crha <mcrha redhat com>
Date: Wed Mar 13 19:16:05 2019 +0100
Inline Forward headers bold in Plain Text mode
Using Inline Forward with the composer being preset in Plain Text mode
still showed the header names in bold.
src/em-format/e-mail-formatter-enums.h | 6 ++++--
src/em-format/e-mail-formatter-headers.c | 8 ++++++--
src/em-format/e-mail-formatter-quote-headers.c | 6 +++++-
src/em-format/e-mail-formatter-quote.c | 3 +++
src/em-format/e-mail-formatter-utils.c | 3 ++-
src/mail/em-composer-utils.c | 2 ++
6 files changed, 22 insertions(+), 6 deletions(-)
---
diff --git a/src/em-format/e-mail-formatter-enums.h b/src/em-format/e-mail-formatter-enums.h
index f357d910dc..bfcc4a6375 100644
--- a/src/em-format/e-mail-formatter-enums.h
+++ b/src/em-format/e-mail-formatter-enums.h
@@ -41,7 +41,8 @@ typedef enum { /*< flags >*/
E_MAIL_FORMATTER_HEADER_FLAG_NODEC = 1 << 5,
E_MAIL_FORMATTER_HEADER_FLAG_HIDDEN = 1 << 6,
E_MAIL_FORMATTER_HEADER_FLAG_NOLINKS = 1 << 7,
- E_MAIL_FORMATTER_HEADER_FLAG_NOELIPSIZE = 1 << 8
+ E_MAIL_FORMATTER_HEADER_FLAG_NOELIPSIZE = 1 << 8,
+ E_MAIL_FORMATTER_HEADER_FLAG_NO_FORMATTING = 1 << 9
} EMailFormatterHeaderFlags;
typedef enum {
@@ -56,7 +57,8 @@ typedef enum {
typedef enum { /*< flags >*/
E_MAIL_FORMATTER_QUOTE_FLAG_CITE = 1 << 0,
E_MAIL_FORMATTER_QUOTE_FLAG_HEADERS = 1 << 1,
- E_MAIL_FORMATTER_QUOTE_FLAG_KEEP_SIG = 1 << 2 /* do not strip signature */
+ E_MAIL_FORMATTER_QUOTE_FLAG_KEEP_SIG = 1 << 2, /* do not strip signature */
+ E_MAIL_FORMATTER_QUOTE_FLAG_NO_FORMATTING = 1 << 3
} EMailFormatterQuoteFlags;
/**
diff --git a/src/em-format/e-mail-formatter-headers.c b/src/em-format/e-mail-formatter-headers.c
index 6a92302b20..46ef3cb2e2 100644
--- a/src/em-format/e-mail-formatter-headers.c
+++ b/src/em-format/e-mail-formatter-headers.c
@@ -226,6 +226,7 @@ format_full_headers (EMailFormatter *formatter,
gchar *evolution_imagesdir;
const gchar *direction;
guint ii, len;
+ guint32 formatting_flag = 0;
g_return_if_fail (E_IS_MAIL_PART_HEADERS (part));
@@ -246,6 +247,9 @@ format_full_headers (EMailFormatter *formatter,
break;
}
+ if ((context->flags & E_MAIL_FORMATTER_HEADER_FLAG_NO_FORMATTING) != 0)
+ formatting_flag |= E_MAIL_FORMATTER_HEADER_FLAG_NO_FORMATTING;
+
ct = camel_mime_part_get_content_type (mime_part);
charset = camel_content_type_param (ct, "charset");
charset = camel_iconv_charset_name (charset);
@@ -360,7 +364,7 @@ format_full_headers (EMailFormatter *formatter,
if (camel_name_value_array_get (headers, ii, &header_name, &header_value) &&
header_name) {
e_mail_formatter_format_header (formatter, buffer, header_name, header_value,
- E_MAIL_FORMATTER_HEADER_FLAG_NOCOLUMNS, charset);
+ E_MAIL_FORMATTER_HEADER_FLAG_NOCOLUMNS | formatting_flag, charset);
}
}
e_mail_formatter_format_security_header (formatter, context, buffer, part,
E_MAIL_FORMATTER_HEADER_FLAG_NOCOLUMNS);
@@ -434,7 +438,7 @@ format_full_headers (EMailFormatter *formatter,
formatter, buffer,
header_name,
header_value,
- 0, charset);
+ formatting_flag, charset);
}
g_strfreev (default_headers);
diff --git a/src/em-format/e-mail-formatter-quote-headers.c b/src/em-format/e-mail-formatter-quote-headers.c
index 4870523d97..7353a7c53e 100644
--- a/src/em-format/e-mail-formatter-quote-headers.c
+++ b/src/em-format/e-mail-formatter-quote-headers.c
@@ -72,7 +72,8 @@ emfqe_format_text_header (EMailFormatter *emf,
g_string_append_printf (buffer, HEADER_PREFIX);
- if (flags & E_MAIL_FORMATTER_HEADER_FLAG_BOLD)
+ if ((flags & E_MAIL_FORMATTER_HEADER_FLAG_BOLD) &&
+ !(flags & E_MAIL_FORMATTER_HEADER_FLAG_NO_FORMATTING))
g_string_append_printf (
buffer, "<b>%s</b>: %s", label, html);
else
@@ -114,6 +115,9 @@ emfqe_format_header (EMailFormatter *formatter,
flags = E_MAIL_FORMATTER_HEADER_FLAG_NOELIPSIZE;
+ if ((context->flags & E_MAIL_FORMATTER_HEADER_FLAG_NO_FORMATTING) != 0)
+ flags |= E_MAIL_FORMATTER_HEADER_FLAG_NO_FORMATTING;
+
canon_name = g_alloca (strlen (header_name) + 1);
strcpy (canon_name, header_name);
e_mail_formatter_canon_header_name (canon_name);
diff --git a/src/em-format/e-mail-formatter-quote.c b/src/em-format/e-mail-formatter-quote.c
index e224049021..69b8fd510a 100644
--- a/src/em-format/e-mail-formatter-quote.c
+++ b/src/em-format/e-mail-formatter-quote.c
@@ -66,6 +66,9 @@ mail_formatter_quote_run (EMailFormatter *formatter,
qf_context = (EMailFormatterQuoteContext *) context;
qf_context->qf_flags = qf->priv->flags;
+ if ((qf_context->qf_flags & E_MAIL_FORMATTER_QUOTE_FLAG_NO_FORMATTING) != 0)
+ context->flags |= E_MAIL_FORMATTER_HEADER_FLAG_NO_FORMATTING;
+
g_seekable_seek (
G_SEEKABLE (stream),
0, G_SEEK_SET, NULL, NULL);
diff --git a/src/em-format/e-mail-formatter-utils.c b/src/em-format/e-mail-formatter-utils.c
index 53ee738225..f02356f214 100644
--- a/src/em-format/e-mail-formatter-utils.c
+++ b/src/em-format/e-mail-formatter-utils.c
@@ -71,7 +71,8 @@ e_mail_formatter_format_text_header (EMailFormatter *formatter,
direction = gtk_widget_get_default_direction ();
if (flags & E_MAIL_FORMATTER_HEADER_FLAG_NOCOLUMNS) {
- if (flags & E_MAIL_FORMATTER_HEADER_FLAG_BOLD) {
+ if ((flags & E_MAIL_FORMATTER_HEADER_FLAG_BOLD) &&
+ !(flags & E_MAIL_FORMATTER_HEADER_FLAG_NO_FORMATTING)) {
fmt = "<tr style=\"display: %s\">"
"<td><b>%s:</b> %s</td></tr>";
} else {
diff --git a/src/mail/em-composer-utils.c b/src/mail/em-composer-utils.c
index 3613c6de54..16fc6289e0 100644
--- a/src/mail/em-composer-utils.c
+++ b/src/mail/em-composer-utils.c
@@ -2639,6 +2639,8 @@ forward_non_attached (EMsgComposer *composer,
E_MAIL_FORMATTER_QUOTE_FLAG_KEEP_SIG;
if (style == E_MAIL_FORWARD_STYLE_QUOTED)
flags |= E_MAIL_FORMATTER_QUOTE_FLAG_CITE;
+ if (!e_content_editor_get_html_mode (e_html_editor_get_content_editor (e_msg_composer_get_editor
(composer))))
+ flags |= E_MAIL_FORMATTER_QUOTE_FLAG_NO_FORMATTING;
/* Setup composer's From account before calling quoting_text(),
because quoting_text() relies on that account. */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]