? current.diff ? everything.diff ? addressbook/backend/ebook/evolution-gnomecard-importer ? doc/devel/calendar/cal-client/evolution-cal-client-scan.c ? doc/devel/calendar/cal-util/evolution-cal-util-scan.c ? doc/devel/calendar/cal-util/evolution-cal-util-unused.txt Index: mail/ChangeLog =================================================================== RCS file: /cvs/gnome/evolution/mail/ChangeLog,v retrieving revision 1.869 diff -u -r1.869 ChangeLog --- mail/ChangeLog 2001/01/12 22:48:31 1.869 +++ mail/ChangeLog 2001/01/12 23:07:21 @@ -1,3 +1,12 @@ +2001-01-12 Ian Campbell + + * mail-format.c (get_cid): If the part has a Content-Location + header. Store it in the urls has table. + + * mail-display.c (on_url_requested): if the url isn't cid:* or + x-evolution-data:* then perhaps it was a part with a + Content-Location header. + 2001-01-12 Christopher James Lahey * message-list.c: Changed filter_date and filter_size to match the Index: mail/mail-display.c =================================================================== RCS file: /cvs/gnome/evolution/mail/mail-display.c,v retrieving revision 1.87 diff -u -r1.87 mail-display.c --- mail/mail-display.c 2001/01/12 05:29:09 1.87 +++ mail/mail-display.c 2001/01/12 23:07:24 @@ -775,6 +775,20 @@ g_return_if_fail (ba != NULL); gtk_html_write (html, handle, ba->data, ba->len); + } else { /* Perhaps it is a URL inserted with Content-Location? */ + CamelMedium *medium = user_data; + CamelDataWrapper *data; + CamelStream *stream_mem; + GByteArray *ba; + + g_return_if_fail (CAMEL_IS_MEDIUM (medium)); + data = camel_medium_get_content_object (medium); + + ba = g_byte_array_new (); + stream_mem = camel_stream_mem_new_with_byte_array (ba); + camel_data_wrapper_write_to_stream (data, stream_mem); + gtk_html_write (html, handle, ba->data, ba->len); + camel_object_unref (CAMEL_OBJECT (stream_mem)); } } Index: mail/mail-format.c =================================================================== RCS file: /cvs/gnome/evolution/mail/mail-format.c,v retrieving revision 1.102 diff -u -r1.102 mail-format.c --- mail/mail-format.c 2001/01/11 21:25:04 1.102 +++ mail/mail-format.c 2001/01/12 23:07:30 @@ -176,9 +176,20 @@ { GHashTable *urls; char *cid; + const char *content_loc; + const char *inserted_loc; gpointer orig_name, value; urls = g_datalist_get_data (md->data, "urls"); + + /* If we have a Content-Location header, store it. If not do nothing */ + content_loc = camel_medium_get_header(CAMEL_MEDIUM(part), "Content-Location"); + if ( content_loc && g_hash_table_lookup(urls,content_loc) == NULL ) { + inserted_loc = content_loc; + while (isspace(*inserted_loc)) + inserted_loc++; + g_hash_table_insert(urls, g_strdup(inserted_loc), part); + } /* If we have a real Content-ID, use it. If we don't, * make a (syntactically invalid) fake one.