Re: [evolution-patches] Please review my patch for bug #48290



Please read the bug posting guidelines i posted last week.

Anyway re this patch, what branch is this for, head or 1.4?  If for
head, then it is not needed anymore/or a different patch will be
required.

I thought the code already has a 'print flag' too?  And the code has
stuff to override the widget style too.

On Tue, 2003-09-09 at 09:14, Antonio Xu wrote:
> Hello All,
> 
> Could you review my patch for bug #48290?
> My patch will set the default text color before gtkhtml create object 
> tree for printing preview, then gtkhtml will use the color to create 
> text object, rather then using the default text color of gtk style.
> 
> Bug summary:
> 	Selecting inverse theme causes text to be printed white-on-white
> Bug link:
> 	http://bugzilla.ximian.com/show_bug.cgi?id=48290
> 
> Thanks
> Antonio Xu
> 
> ______________________________________________________________________
> Index: mail/mail-display.c
> ===================================================================
> RCS file: /cvs/gnome/evolution/mail/mail-display.c,v
> retrieving revision 1.282.4.6
> diff -u -r1.282.4.6 mail-display.c
> --- mail/mail-display.c	28 Aug 2003 18:20:10 -0000	1.282.4.6
> +++ mail/mail-display.c	9 Sep 2003 12:45:14 -0000
> @@ -1796,11 +1796,12 @@
>                      "<head>\n<meta name=\"generator\" content=\"Evolution Mail Component\">\n</head>\n"
>  
>  void
> -mail_display_render (MailDisplay *md, GtkHTML *html, gboolean reset_scroll)
> +mail_display_render (MailDisplay *md, GtkHTML *html, gboolean reset_scroll, gboolean is_print)
>  {
>  	const char *flag, *completed;
>  	GtkHTMLStream *html_stream;
>  	MailDisplayStream *stream;
> +	char *body;
>  
>  	g_return_if_fail (IS_MAIL_DISPLAY (md));
>  	g_return_if_fail (GTK_IS_HTML (html));
> @@ -1819,10 +1820,14 @@
>  	gtk_html_stream_write (html_stream, HTML_HEADER, sizeof (HTML_HEADER) - 1);
>  	
>  	if (md->current_message && md->display_style == MAIL_CONFIG_DISPLAY_SOURCE)
> -		gtk_html_stream_write (html_stream, "<body>\n", 7);
> +		body = g_strdup_printf("%s%s%s", "<body",
> +						  is_print ? " text=\"#000000\"" : "", ">\n");
>  	else
> -		gtk_html_stream_write (html_stream, "<body marginwidth=0 marginheight=0>\n", 36);
> +		body = g_strdup_printf("%s%s%s", "<body marginwidth=0 marginheight=0",
> +					 	  is_print ? " text=\"#000000\"" : "", ">\n");
>  	
> +	gtk_html_stream_write (html_stream, body, strlen(body));
> +	g_free(body);
>  	flag = md->info ? camel_tag_get (&md->info->user_tags, "follow-up") : NULL;
>  	completed = md->info ? camel_tag_get (&md->info->user_tags, "completed-on") : NULL;
>  	if ((flag && *flag) && !(completed && *completed)) {
> @@ -1934,7 +1939,7 @@
>  	md->redisplay_counter++;
>  	/* printf ("md %p redisplay %d\n", md, md->redisplay_counter); */
>  	
> -	mail_display_render (md, md->html, reset_scroll);
> +	mail_display_render (md, md->html, reset_scroll, FALSE);
>  }
>  
> 
> Index: mail/mail-display.h
> ===================================================================
> RCS file: /cvs/gnome/evolution/mail/mail-display.h,v
> retrieving revision 1.48
> diff -u -r1.48 mail-display.h
> --- mail/mail-display.h	11 Feb 2003 20:45:27 -0000	1.48
> +++ mail/mail-display.h	9 Sep 2003 12:45:25 -0000
> @@ -92,7 +92,8 @@
>  void           mail_display_initialize_gtkhtml (MailDisplay *mail_display, GtkHTML *html);
>  
>  void           mail_display_queue_redisplay (MailDisplay *mail_display);
> -void           mail_display_render (MailDisplay *mail_display, GtkHTML *html, gboolean reset_scroll);
> +void           mail_display_render (MailDisplay *mail_display,GtkHTML *html,
> +				    gboolean reset_scroll, gboolean is_print);
>  void           mail_display_redisplay (MailDisplay *mail_display, gboolean reset_scroll);
>  void           mail_display_redisplay_when_loaded (MailDisplay *md,
>  						   gconstpointer key,
> Index: mail/mail-callbacks.c
> ===================================================================
> RCS file: /cvs/gnome/evolution/mail/mail-callbacks.c,v
> retrieving revision 1.447.2.2
> diff -u -r1.447.2.2 mail-callbacks.c
> --- mail/mail-callbacks.c	22 Aug 2003 16:45:16 -0000	1.447.2.2
> +++ mail/mail-callbacks.c	9 Sep 2003 12:45:54 -0000
> @@ -2928,7 +2928,7 @@
>  		gtk_container_add (GTK_CONTAINER (w), GTK_WIDGET (html));
>  		gtk_widget_realize (GTK_WIDGET (html));
>  	}
> -	mail_display_render (fb->mail_display, html, TRUE);
> +	mail_display_render (fb->mail_display, html, TRUE, TRUE);
>  	gtk_html_print_set_master (html, print_master);
>  	
>  	info = footer_info_new (html, print_context, &line);




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]