# HG changeset patch # User Elliott Sales de Andrade # Date 1325721367 0 # Node ID 126420f99f6fb7b7c153fb8919d15a8fafda6ea6 # Parent 215f7f125f4d6581592ca927194a6026c46b8c8c Add a WebView setup function. diff -r 215f7f125f4d -r 126420f99f6f pidgin/gtkutils.c --- a/pidgin/gtkutils.c Wed Jan 04 09:46:23 2012 +0000 +++ b/pidgin/gtkutils.c Wed Jan 04 23:56:07 2012 +0000 @@ -128,6 +128,32 @@ } +void +pidgin_setup_webview(GtkWidget *webview) +{ + g_return_if_fail(webview != NULL); + g_return_if_fail(GTK_IS_WEBVIEW(webview)); + +#if 0 +/* TODO: WebKit this stuff... */ + pidgin_themes_smiley_themeize(webview); +#endif + +#ifdef _WIN32 + if (!purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/conversations/use_theme_font")) { + WebKitWebSettings *settings = webkit_web_settings_new(); + g_object_set(G_OBJECT(settings), "default-font-size", + purple_prefs_get_int(PIDGIN_PREFS_ROOT "/conversations/font_size"), + NULL); + g_object_set(G_OBJECT(settings), "default-font-family", + purple_prefs_get_string(PIDGIN_PREFS_ROOT "/conversations/custom_font"), + NULL); + + webkit_web_view_set_settings(WEBKIT_WEB_VIEW(webview), settings); + } +#endif +} + static void pidgin_window_init(GtkWindow *wnd, const char *title, guint border_width, const char *role, gboolean resizable) { @@ -319,6 +345,7 @@ gtk_webviewtoolbar_attach(GTK_WEBVIEWTOOLBAR(toolbar), webview); gtk_webviewtoolbar_associate_smileys(GTK_WEBVIEWTOOLBAR(toolbar), "default"); } + pidgin_setup_webview(webview); sw = pidgin_make_scrollable(webview, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC, GTK_SHADOW_NONE, -1, -1); gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0); diff -r 215f7f125f4d -r 126420f99f6f pidgin/gtkutils.h --- a/pidgin/gtkutils.h Wed Jan 04 09:46:23 2012 +0000 +++ b/pidgin/gtkutils.h Wed Jan 04 23:56:07 2012 +0000 @@ -107,6 +107,14 @@ GtkWidget *pidgin_create_imhtml(gboolean editable, GtkWidget **imhtml_ret, GtkWidget **toolbar_ret, GtkWidget **sw_ret); /** + * Sets up a gtkwebview widget, loads it with smileys, and sets the + * default signal handlers. + * + * @param webview The gtkwebview widget to setup. + */ +void pidgin_setup_webview(GtkWidget *webview); + +/** * Create an GtkWebView widget and associated GtkIMHtmlToolbar widget. This * function puts both widgets in a nice GtkFrame. They're separated by an * attractive GtkSeparator.