[evolution] Inline Forward headers bold in Plain Text mode



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]