diff options
author | Parthasarathi Susarla <sparthasarathi@novell.com> | 2005-01-18 16:33:05 +0800 |
---|---|---|
committer | Parthasarathi Susarla <saps@src.gnome.org> | 2005-01-18 16:33:05 +0800 |
commit | 0d1b87cd9c372548d428cebaa5f5ebda3a4890cb (patch) | |
tree | be0738d1c629ce816a5e312679ebacadc831149c /plugins/shared-folder/install-shared.c | |
parent | af1cbe3eb5e0a51fe234217f7ab5d83227f7628b (diff) | |
download | gsoc2013-evolution-0d1b87cd9c372548d428cebaa5f5ebda3a4890cb.tar gsoc2013-evolution-0d1b87cd9c372548d428cebaa5f5ebda3a4890cb.tar.gz gsoc2013-evolution-0d1b87cd9c372548d428cebaa5f5ebda3a4890cb.tar.bz2 gsoc2013-evolution-0d1b87cd9c372548d428cebaa5f5ebda3a4890cb.tar.lz gsoc2013-evolution-0d1b87cd9c372548d428cebaa5f5ebda3a4890cb.tar.xz gsoc2013-evolution-0d1b87cd9c372548d428cebaa5f5ebda3a4890cb.tar.zst gsoc2013-evolution-0d1b87cd9c372548d428cebaa5f5ebda3a4890cb.zip |
*install-shared.c (org_gnome_popup_wizard): displays the message without
2005-01-18 Parthasarathi Susarla <sparthasarathi@novell.com>
*install-shared.c
(org_gnome_popup_wizard): displays the message without the
mime headers
svn path=/trunk/; revision=28430
Diffstat (limited to 'plugins/shared-folder/install-shared.c')
-rw-r--r-- | plugins/shared-folder/install-shared.c | 34 |
1 files changed, 23 insertions, 11 deletions
diff --git a/plugins/shared-folder/install-shared.c b/plugins/shared-folder/install-shared.c index a49073be57..368a6b7574 100644 --- a/plugins/shared-folder/install-shared.c +++ b/plugins/shared-folder/install-shared.c @@ -39,6 +39,7 @@ #include <camel/camel-session.h> #include <camel/camel-stream-mem.h> #include <camel/camel-data-wrapper.h> +#include <camel/camel-multipart.h> #include <mail/em-folder-tree.h> #include <mail/mail-config.h> #include <mail/em-folder-selector.h> @@ -172,6 +173,7 @@ org_gnome_popup_wizard (EPlugin *ep, EMEventTargetMessage *target) CamelStreamMem *content ; CamelDataWrapper *dw ; CamelMimePart *mime_part ; + CamelMultipart *mp ; char *notification; char *start_message; char *buffer = NULL; @@ -189,23 +191,31 @@ org_gnome_popup_wizard (EPlugin *ep, EMEventTargetMessage *target) notification = (char *)camel_medium_get_header (CAMEL_MEDIUM(msg),"X-notification") ; if (!notification) { return ; - } - - else { + } else { + mp = (CamelMultipart *) camel_medium_get_content_object (CAMEL_MEDIUM (msg)) ; dw = camel_data_wrapper_new () ; - camel_medium_remove_header (CAMEL_MEDIUM (mime_part), "Content-Transfer-Encoding") ; - camel_medium_remove_header (CAMEL_MEDIUM (mime_part), "Content-Type") ; - dw = camel_medium_get_content_object (CAMEL_MEDIUM (mime_part)); content = (CamelStreamMem *)camel_stream_mem_new(); - camel_data_wrapper_write_to_stream(dw, (CamelStream *)content); - buffer = g_malloc0 (content->buffer->len+1) ; - buffer = memcpy (buffer, content->buffer->data, content->buffer->len) ; -/* buffer = camel_mime_message_build_mbox_from ( (CamelMimeMessage *)target->message) ;*/ + if (!mp) + return ; + if (CAMEL_IS_MULTIPART (mp)) { + mime_part = camel_multipart_get_part (mp, 0) ; + dw = camel_medium_get_content_object (CAMEL_MEDIUM (mime_part)) ; + camel_data_wrapper_write_to_stream(dw, (CamelStream *)content) ; + buffer = g_malloc0 (content->buffer->len+1) ; + buffer = memcpy (buffer, content->buffer->data, content->buffer->len) ; + + } else { + dw = camel_medium_get_content_object (CAMEL_MEDIUM (msg)) ; + camel_data_wrapper_write_to_stream(dw, (CamelStream *)content) ; + buffer = g_malloc0 (content->buffer->len+1) ; + buffer = memcpy (buffer, content->buffer->data, content->buffer->len) ; + } + from_addr = camel_mime_message_get_from ((CamelMimeMessage *)target->message); if (camel_internet_address_get (from_addr,0, &name, &email)) subject = camel_mime_message_get_subject (target->message) ; - start_message = g_strconcat (" The User ", "'", name, "'" ," has shared a folder with you\n\n", " Message from ", "'" , name, "'\n", buffer, "Click 'Forward' to install the shared folder\n\n",NULL); + start_message = g_strconcat (" The User ", "'", name, "'" ," has shared a folder with you\n\n", " Message from ", "'" , name, "'\n", buffer, "\n", "Click 'Forward' to install the shared folder\n\n",NULL); title_page = GNOME_DRUID_PAGE_EDGE (gnome_druid_page_edge_new_with_vals(GNOME_EDGE_START, TRUE, "Install the shared folder", start_message, NULL, NULL, NULL)); middle_page = g_object_new (GNOME_TYPE_DRUID_PAGE_STANDARD, "title", "vivek", NULL); @@ -228,6 +238,8 @@ org_gnome_popup_wizard (EPlugin *ep, EMEventTargetMessage *target) item_id = camel_mime_message_get_message_id (msg); g_signal_connect (title_page, "next", G_CALLBACK(accept_clicked), item_id); + g_free (buffer) ; + g_free (start_message) ; } } |