--- a/pidgin/gtkwebview.c Sun Jun 03 07:40:47 2012 +0000
+++ b/pidgin/gtkwebview.c Sun Jun 03 19:40:55 2012 +0000
@@ -43,6 +43,7 @@
static guint signals[LAST_SIGNAL] = { 0 };
@@ -343,6 +344,12 @@
+editable_input_cb(GtkWebView *webview, WebKitDOMEvent *event, void *data) + g_signal_emit(webview, signals[CHANGED], 0); /******************************************************************************
*****************************************************************************/
@@ -404,6 +411,12 @@
G_STRUCT_OFFSET(GtkWebViewClass, update_format),
NULL, 0, g_cclosure_marshal_VOID__VOID,
+ signals[CHANGED] = g_signal_new("changed", + G_TYPE_FROM_CLASS(gobject_class), + G_STRUCT_OFFSET(GtkWebViewClass, changed), + NULL, NULL, g_cclosure_marshal_VOID__VOID, klass->toggle_format = webview_toggle_format;
klass->clear_format = webview_clear_formatting;
@@ -625,7 +638,20 @@
gtk_webview_set_editable(GtkWebView *webview, gboolean editable)
+ WebKitDOMDocument *doc; webkit_web_view_set_editable(WEBKIT_WEB_VIEW(webview), editable);
+ doc = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(webview)); + webkit_dom_event_target_add_event_listener(WEBKIT_DOM_EVENT_TARGET(doc), + "input", G_CALLBACK(editable_input_cb), + webkit_dom_event_target_remove_event_listener(WEBKIT_DOM_EVENT_TARGET(doc), + "input", G_CALLBACK(editable_input_cb), --- a/pidgin/gtkwebview.h Sun Jun 03 07:40:47 2012 +0000
+++ b/pidgin/gtkwebview.h Sun Jun 03 19:40:55 2012 +0000
@@ -74,6 +74,7 @@
void (*toggle_format)(GtkWebView *, GtkWebViewButtons);
void (*clear_format)(GtkWebView *);
void (*update_format)(GtkWebView *);
+ void (*changed)(GtkWebView *);