[evolution] EAttachment: Use Subject as fallback filename for message attachments



commit ba241f88ef9b58f7a714d1c068734d5b74a1f056
Author: Milan Crha <mcrha redhat com>
Date:   Wed Feb 20 12:01:20 2013 +0100

    EAttachment: Use Subject as fallback filename for message attachments

 e-util/e-attachment.c |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)
---
diff --git a/e-util/e-attachment.c b/e-util/e-attachment.c
index a460890..495c805 100644
--- a/e-util/e-attachment.c
+++ b/e-util/e-attachment.c
@@ -1839,6 +1839,27 @@ attachment_load_from_mime_part_thread (GSimpleAsyncResult *simple,
        if (string == NULL) {
                /* Translators: Default attachment filename. */
                string = _("attachment.dat");
+
+               if (camel_content_type_is (content_type, "message", "rfc822")) {
+                       CamelMimeMessage *msg = NULL;
+                       const gchar *subject = NULL;
+
+                       if (CAMEL_IS_MIME_MESSAGE (mime_part)) {
+                               msg = CAMEL_MIME_MESSAGE (mime_part);
+                       } else {
+                               CamelDataWrapper *content;
+
+                               content = camel_medium_get_content (CAMEL_MEDIUM (mime_part));
+                               if (CAMEL_IS_MIME_MESSAGE (content))
+                                       msg = CAMEL_MIME_MESSAGE (content);
+                       }
+
+                       if (msg)
+                               subject = camel_mime_message_get_subject (msg);
+
+                       if (subject && *subject)
+                               string = subject;
+               }
        } else {
                decoded_string = camel_header_decode_string (string, "UTF-8");
                if (decoded_string && *decoded_string && !g_str_equal (decoded_string, string)) {


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