[evolution] I#330 - Add option to display delivery notification attachments inline



commit d3addc69a8de8577d85a8ba89c275b5402250a22
Author: Milan Crha <mcrha redhat com>
Date:   Mon Mar 11 11:20:33 2019 +0100

    I#330 - Add option to display delivery notification attachments inline
    
    Closes https://gitlab.gnome.org/GNOME/evolution/issues/330

 data/org.gnome.evolution.mail.gschema.xml.in         |  5 +++++
 src/em-format/e-mail-parser-message-deliverystatus.c | 13 ++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)
---
diff --git a/data/org.gnome.evolution.mail.gschema.xml.in b/data/org.gnome.evolution.mail.gschema.xml.in
index fec1ba520d..410e040a04 100644
--- a/data/org.gnome.evolution.mail.gschema.xml.in
+++ b/data/org.gnome.evolution.mail.gschema.xml.in
@@ -827,6 +827,11 @@
       <_summary>Whether Send/Receive should also download of messages for offline.</_summary>
       <_description>If enabled, whenever Send/Receive is run it also runs synchronization of messages for 
offline use. The option is disabled by default.</_description>
     </key>
+    <key name="display-delivery-notification-inline" type="b">
+      <default>false</default>
+      <_summary>Whether display delivery notification parts inline.</_summary>
+      <_description>If enabled, the message/delivery-status and message/disposition-notification parts are 
shown automatically inline.</_description>
+    </key>
 
     <!-- The following keys are deprecated. -->
 
diff --git a/src/em-format/e-mail-parser-message-deliverystatus.c 
b/src/em-format/e-mail-parser-message-deliverystatus.c
index 6e6a05b6f7..b22d9ca1ca 100644
--- a/src/em-format/e-mail-parser-message-deliverystatus.c
+++ b/src/em-format/e-mail-parser-message-deliverystatus.c
@@ -52,6 +52,7 @@ empe_msg_deliverystatus_parse (EMailParserExtension *extension,
        GQueue work_queue = G_QUEUE_INIT;
        CamelContentType *ct;
        EMailPart *mail_part;
+       gboolean show_inline;
        gsize len;
 
        len = part_id->len;
@@ -68,7 +69,17 @@ empe_msg_deliverystatus_parse (EMailParserExtension *extension,
        e_mail_parser_wrap_as_attachment (parser, part, part_id, &work_queue);
 
        ct = camel_mime_part_get_content_type (part);
-       if (ct && camel_content_type_is (ct, "message", "feedback-report")) {
+       show_inline = ct && camel_content_type_is (ct, "message", "feedback-report");
+
+       if (!show_inline) {
+               GSettings *settings;
+
+               settings = e_util_ref_settings ("org.gnome.evolution.mail");
+               show_inline = g_settings_get_boolean (settings, "display-delivery-notification-inline");
+               g_object_unref (settings);
+       }
+
+       if (show_inline) {
                EMailPart *attachment_part;
 
                attachment_part = g_queue_peek_head (&work_queue);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]