initialize gdkrgb. Push visual/colormap. (on_url_requested): in the case

2000-03-03  bertrand  <bertrand@helixcode.com>

	* tests/ui-tests/message-browser.c (main): initialize
	gdkrgb. Push visual/colormap.
	(on_url_requested): in the case where a camel url is requested,
	write the camel stream to gtkhtml.

	* tests/ui-tests/Makefile.am (filter_LDADD): add
	gnomeprint in the lib list.

Message browser shows inline images. Woohoo !

svn path=/trunk/; revision=2022
This commit is contained in:
bertrand
2000-03-03 19:43:49 +00:00
committed by Bertrand Guiheneuf
parent c343245386
commit c71ec9dab0
2 changed files with 56 additions and 0 deletions

View File

@ -1,3 +1,13 @@
2000-03-03 bertrand <bertrand@helixcode.com>
* tests/ui-tests/message-browser.c (main): initialize
gdkrgb. Push visual/colormap.
(on_url_requested): in the case where a camel url is requested,
write the camel stream to gtkhtml.
* tests/ui-tests/Makefile.am (filter_LDADD): add
gnomeprint in the lib list.
2000-03-01 Ettore Perazzoli <ettore@helixcode.com>
* shell/Makefile.am (INCLUDES): use `top_srcdir' instead of

View File

@ -1,3 +1,4 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*--------------------------------*-C-*---------------------------------*
*
* Copyright 2000, Matt Loper <matt@helixcode.com>.
@ -301,6 +302,40 @@ on_link_clicked (GtkHTML *html, const gchar *url, gpointer data)
}
static void
on_url_requested (GtkHTML *html, const gchar *url, GtkHTMLStreamHandle handle, gpointer data)
{
CamelStream *stream;
gchar tmp_buffer[4096];
gint nb_bytes_read;
printf ("url _%s_ (%p) requested\n", url, url);
if (sscanf (url, "camel://%p", &stream) == 1)
{
do {
/* read next chunk of text */
nb_bytes_read = camel_stream_read (stream,
tmp_buffer,
4096);
/* If there's any text, write it to the stream */
if (nb_bytes_read > 0) {
gtk_html_write (html, handle, tmp_buffer, nb_bytes_read);
}
} while (!camel_stream_eos (stream));
}
}
static GtkWidget*
get_gtk_html_contents_window (CamelDataWrapper* data)
{
@ -320,6 +355,11 @@ get_gtk_html_contents_window (CamelDataWrapper* data)
GTK_SIGNAL_FUNC (on_link_clicked),
NULL);
gtk_signal_connect (GTK_OBJECT (html_widget),
"url_requested",
GTK_SIGNAL_FUNC (on_url_requested),
NULL);
scroll_wnd = gtk_scrolled_window_new (NULL, NULL);
gtk_container_add (GTK_CONTAINER (scroll_wnd), html_widget);
}
@ -554,6 +594,12 @@ main (int argc, char *argv[])
/* initialization */
gnome_init ("MessageBrowser", "1.0", argc, argv);
gdk_rgb_init ();
gtk_widget_set_default_colormap (gdk_rgb_get_cmap ());
gtk_widget_set_default_visual (gdk_rgb_get_visual ());
app = gnome_app_new ("Message Browser Test", NULL);
gnome_app_create_menus (GNOME_APP (app), main_menu);