diff options
author | Not Zed <NotZed@Ximian.com> | 2004-01-14 10:58:24 +0800 |
---|---|---|
committer | Michael Zucci <zucchi@src.gnome.org> | 2004-01-14 10:58:24 +0800 |
commit | df12f97f295e461187793034557ef9d8787ffa4b (patch) | |
tree | 06f0a69306c896b875b8ae2b5b1e3b78a7cb0dec /mail/em-format-html-quote.c | |
parent | b7d6b7be91f2348427d1900b011b069abd0fa40a (diff) | |
download | gsoc2013-evolution-df12f97f295e461187793034557ef9d8787ffa4b.tar.gz gsoc2013-evolution-df12f97f295e461187793034557ef9d8787ffa4b.tar.zst gsoc2013-evolution-df12f97f295e461187793034557ef9d8787ffa4b.zip |
** See bug 51660.
2004-01-14 Not Zed <NotZed@Ximian.com>
** See bug 51660.
* em-format-html-quote.c (efhq_multipart_related): setup part_id
appropriately.
* em-format-html-display.c (efhd_output_secure): use part_id in
classid, and add .signed to part_id for subpart.
(efhd_bonobo_unknown): use part_id in classid.
(efhd_format_attachment): use part_id in classid's.
* em-format-html.c (efh_multipart_related)
(emfh_multipart_related_check): setup part_id for each subpart.
(efh_output_secure): as above, and use the part_id for the
classid.
(em_format_html_add_pobject): use part_id for a generated classid.
(efh_text_plain): setup pseudo-parts into part_id.
* em-format.c (emf_format_clone): setup the part_id base, folder +
uid.
(emf_finalise): free the part_id gstring.
(emf_init): allocate the part_id gstring.
(em_format_add_puri): build the cid from the part_id rather than
an arbitrary number, so it is more persistent. Also save the
part_id in the puri for multipart/related use.
(emf_multipart_mixed, emf_multipart_alternative)
(emf_multipart_appledouble, emf_multipart_encrypted)
(emf_multipart_related, emf_multipart_signed): Set the part_id for
each subpart.
(emf_clear_puri_node): free part_id.
2004-01-13 Not Zed <NotZed@Ximian.com>
** See bug 51660.
* em-format-html-print.c (em_format_html_print_print): dont take
message, get the message from the source formatter.
* em-format.c (emf_format_clone): Added folder and uid parameters,
changed camelmedium to a mimemessage.
* em-format-html-display.c (efhd_attachment_button): check the
icon image cache and if the image is there use it.
* em-icon-stream.c (em_icon_stream_get_image): api to lookup
finished images in cache.
(em_icon_stream_new): add a cache key arg.
(emis_sync_close): store the image in the cache once its
completed.
svn path=/trunk/; revision=24210
Diffstat (limited to 'mail/em-format-html-quote.c')
-rw-r--r-- | mail/em-format-html-quote.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/mail/em-format-html-quote.c b/mail/em-format-html-quote.c index d00b8bf5f7..49749969d8 100644 --- a/mail/em-format-html-quote.c +++ b/mail/em-format-html-quote.c @@ -34,7 +34,7 @@ struct _EMFormatHTMLQuotePrivate { char *credits; }; -static void efhq_format_clone (EMFormat *, CamelMedium *, EMFormat *); +static void efhq_format_clone (EMFormat *, CamelFolder *, const char *, CamelMimeMessage *, EMFormat *); static void efhq_format_error (EMFormat *emf, CamelStream *stream, const char *txt); static void efhq_format_message (EMFormat *, CamelStream *, CamelMedium *); static void efhq_format_source (EMFormat *, CamelStream *, CamelMimePart *); @@ -126,9 +126,9 @@ em_format_html_quote_new_with_credits (const char *credits) } static void -efhq_format_clone (EMFormat *emf, CamelMedium *part, EMFormat *src) +efhq_format_clone (EMFormat *emf, CamelFolder *folder, const char *uid, CamelMimeMessage *msg, EMFormat *src) { - ((EMFormatClass *) efhq_parent)->format_clone (emf, part, src); + ((EMFormatClass *) efhq_parent)->format_clone (emf, folder, uid, msg, src); } static void @@ -182,7 +182,7 @@ efhq_multipart_related(EMFormat *emf, CamelStream *stream, CamelMimePart *part, CamelMimePart *body_part, *display_part = NULL; CamelContentType *content_type; const char *location, *start; - int i, nparts; + int i, nparts, partidlen, displayid = 0; CamelURL *base_save = NULL; if (!CAMEL_IS_MULTIPART(mp)) { @@ -209,6 +209,7 @@ efhq_multipart_related(EMFormat *emf, CamelStream *stream, CamelMimePart *part, if (cid && !strncmp(cid, start, len) && strlen(cid) == len) { display_part = body_part; + displayid = i; break; } } @@ -229,7 +230,11 @@ efhq_multipart_related(EMFormat *emf, CamelStream *stream, CamelMimePart *part, } em_format_push_level(emf); + partidlen = emf->part_id->len; + g_string_append_printf(emf->part_id, "related.%d", displayid); em_format_part(emf, stream, display_part); + g_string_truncate(emf->part_id, partidlen); + em_format_pull_level(emf); if (location) { |