diff pidgin/gtkdialogs.c @ 32520:fe75cd926073

Webkit Message views. This commit is a squashed commit of the series of commits from my git repository which I was using for development. (git://github.com/tdrhq/pidgin-clone.git, branch webkit)
author tdrhq@soc.pidgin.im
date Fri, 24 Jul 2009 01:18:07 +0000
parents 1736bc22cc06
children 67143ecbddb1
line wrap: on
line diff
--- a/pidgin/gtkdialogs.c	Thu Jul 23 04:05:31 2009 +0000
+++ b/pidgin/gtkdialogs.c	Fri Jul 24 01:18:07 2009 +0000
@@ -37,12 +37,13 @@
 
 #include "gtkblist.h"
 #include "gtkdialogs.h"
-#include "gtkimhtml.h"
-#include "gtkimhtmltoolbar.h"
 #include "gtklog.h"
 #include "gtkutils.h"
+#include "gtkwebview.h"
 #include "pidginstock.h"
 
+
+
 static GList *dialogwindows = NULL;
 
 static GtkWidget *about = NULL;
@@ -398,10 +399,10 @@
 {
 	GtkWidget *vbox;
 	GtkWidget *logo;
-	GtkWidget *frame;
-	GtkWidget *text;
+	GtkWidget *scrolled_window;
 	GtkWidget *button;
-	GtkTextIter iter;
+	GtkWidget *web_view;
+
 	GString *str;
 	AtkObject *obj;
 	char* filename, *tmp;
@@ -439,9 +440,14 @@
 	g_free(tmp);
 	gtk_box_pack_start(GTK_BOX(vbox), logo, FALSE, FALSE, 0);
 
-	frame = pidgin_create_imhtml(FALSE, &text, NULL, NULL);
-	gtk_imhtml_set_format_functions(GTK_IMHTML(text), GTK_IMHTML_ALL ^ GTK_IMHTML_SMILEY);
-	gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
+	scrolled_window = gtk_scrolled_window_new (NULL, NULL);
+        gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolled_window), GTK_SHADOW_IN);
+	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+
+	web_view = gtk_webview_new ();
+	gtk_container_add (GTK_CONTAINER (scrolled_window), web_view);
+
+	gtk_box_pack_start(GTK_BOX(vbox), scrolled_window, TRUE, TRUE, 0);
 
 	str = g_string_sized_new(4096);
 
@@ -682,11 +688,9 @@
 
 	/* End of not to be translated section */
 
-	gtk_imhtml_append_text(GTK_IMHTML(text), str->str, GTK_IMHTML_NO_SCROLL);
+	webkit_web_view_load_html_string (WEBKIT_WEB_VIEW(web_view), str->str, "");
 	g_string_free(str, TRUE);
 
-	gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter);
-	gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter);
 
 	/* Close Button */
 	button = pidgin_dialog_add_button(GTK_DIALOG(about), GTK_STOCK_CLOSE,