** See bug #314440.
2005-08-25 Not Zed <NotZed@Ximian.com> ** See bug #314440. * em-format-html.c (efh_url_requested): check the content object's mime type, not the container, when seeing if the data should be written. (efh_write_text_html): add some debug. * em-format-html-display.c (efhd_html_button_press_event): fix debug. svn path=/trunk/; revision=30253
This commit is contained in:
@ -1,3 +1,15 @@
|
||||
2005-08-25 Not Zed <NotZed@Ximian.com>
|
||||
|
||||
** See bug #314440.
|
||||
|
||||
* em-format-html.c (efh_url_requested): check the content object's
|
||||
mime type, not the container, when seeing if the data should be
|
||||
written.
|
||||
(efh_write_text_html): add some debug.
|
||||
|
||||
* em-format-html-display.c (efhd_html_button_press_event): fix
|
||||
debug.
|
||||
|
||||
2005-08-22 Srinivasa Ragavan <sragavan@novell.com>
|
||||
|
||||
* em-format-html-display.c (efhd_bar_resize): Dont call update.
|
||||
|
||||
@ -613,26 +613,25 @@ efhd_iframe_created(GtkHTML *html, GtkHTML *iframe, EMFormatHTMLDisplay *efh)
|
||||
static int
|
||||
efhd_html_button_press_event (GtkWidget *widget, GdkEventButton *event, EMFormatHTMLDisplay *efhd)
|
||||
{
|
||||
char *url;
|
||||
char *uri;
|
||||
gboolean res = FALSE;
|
||||
EMFormatPURI *puri = NULL;
|
||||
|
||||
if (event->button != 3)
|
||||
return FALSE;
|
||||
|
||||
url = gtk_html_get_url_at (GTK_HTML (widget), event->x, event->y);
|
||||
uri = gtk_html_get_url_at (GTK_HTML (widget), event->x, event->y);
|
||||
|
||||
d(printf("popup button pressed\n"));
|
||||
|
||||
if (url) {
|
||||
puri = em_format_find_puri((EMFormat *)efhd, url);
|
||||
|
||||
if (uri) {
|
||||
puri = em_format_find_puri((EMFormat *)efhd, uri);
|
||||
d(printf("poup event, uri = '%s' part = '%p'\n", uri, puri?puri->part:NULL));
|
||||
}
|
||||
|
||||
g_signal_emit((GtkObject *)efhd, efhd_signals[EFHD_POPUP_EVENT], 0, event, url, puri?puri->part:NULL, &res);
|
||||
g_signal_emit((GtkObject *)efhd, efhd_signals[EFHD_POPUP_EVENT], 0, event, uri, puri?puri->part:NULL, &res);
|
||||
|
||||
g_free(url);
|
||||
g_free(uri);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
@ -529,7 +529,8 @@ efh_url_requested(GtkHTML *html, const char *url, GtkHTMLStream *handle, EMForma
|
||||
|
||||
puri = em_format_find_visible_puri((EMFormat *)efh, url);
|
||||
if (puri) {
|
||||
CamelContentType *ct = ((CamelDataWrapper *)puri->part)->mime_type;
|
||||
CamelDataWrapper *dw = camel_medium_get_content_object((CamelMedium *)puri->part);
|
||||
CamelContentType *ct = dw?dw->mime_type:NULL;
|
||||
|
||||
/* GtkHTML only handles text and images.
|
||||
application/octet-stream parts are the only ones
|
||||
@ -546,6 +547,7 @@ efh_url_requested(GtkHTML *html, const char *url, GtkHTMLStream *handle, EMForma
|
||||
d(printf(" adding puri job\n"));
|
||||
job = em_format_html_job_new(efh, emfh_getpuri, puri);
|
||||
} else {
|
||||
d(printf(" part is unknown type '%s', not using\n", ct?camel_content_type_format(ct):"<unset>"));
|
||||
gtk_html_stream_close(handle, GTK_HTML_STREAM_ERROR);
|
||||
}
|
||||
} else if (g_ascii_strncasecmp(url, "http:", 5) == 0 || g_ascii_strncasecmp(url, "https:", 6) == 0) {
|
||||
@ -793,6 +795,19 @@ efh_text_enriched(EMFormatHTML *efh, CamelStream *stream, CamelMimePart *part, E
|
||||
static void
|
||||
efh_write_text_html(EMFormat *emf, CamelStream *stream, EMFormatPURI *puri)
|
||||
{
|
||||
#if d(!)0
|
||||
CamelStream *out;
|
||||
int fd;
|
||||
CamelDataWrapper *dw;
|
||||
|
||||
fd = dup(STDOUT_FILENO);
|
||||
out = camel_stream_fs_new_with_fd(fd);
|
||||
printf("writing text content to frame '%s'\n", puri->cid);
|
||||
dw = camel_medium_get_content_object(puri->part);
|
||||
if (dw)
|
||||
camel_data_wrapper_write_to_stream(dw, out);
|
||||
camel_object_unref(out);
|
||||
#endif
|
||||
em_format_format_text(emf, stream, camel_medium_get_content_object((CamelMedium *)puri->part));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user