SF.net SVN: geany-plugins:[1979] trunk/geany-plugins/devhelp/src/ devhelpplugin.c
codebrainz at users.sourceforge.net
codebrainz at xxxxx
Fri Mar 11 02:58:34 UTC 2011
Revision: 1979
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1979&view=rev
Author: codebrainz
Date: 2011-03-11 02:58:34 +0000 (Fri, 11 Mar 2011)
Log Message:
-----------
Update history buttons when inter-document links are clicked.
Modified Paths:
--------------
trunk/geany-plugins/devhelp/src/devhelpplugin.c
Modified: trunk/geany-plugins/devhelp/src/devhelpplugin.c
===================================================================
--- trunk/geany-plugins/devhelp/src/devhelpplugin.c 2011-03-11 02:33:01 UTC (rev 1978)
+++ trunk/geany-plugins/devhelp/src/devhelpplugin.c 2011-03-11 02:58:34 UTC (rev 1979)
@@ -203,21 +203,36 @@
plug->zoom_level = webkit_web_view_get_zoom_level(view);
}
+static void update_history_buttons(DevhelpPlugin *dhplug)
+{
+ WebKitWebView *view = WEBKIT_WEB_VIEW(dhplug->webview);
+
+ gtk_widget_set_sensitive(GTK_WIDGET(dhplug->btn_back),
+ webkit_web_view_can_go_back(view));
+
+ gtk_widget_set_sensitive(GTK_WIDGET(dhplug->btn_forward),
+ webkit_web_view_can_go_forward(view));
+}
+
static void on_document_load_finished(WebKitWebView * view,
WebKitWebFrame * frame,
- gpointer user_data)
+ DevhelpPlugin *dhplug)
{
- DevhelpPlugin *plug = user_data;
+ update_history_buttons(dhplug);
+}
- if (webkit_web_view_can_go_back(view))
- gtk_widget_set_sensitive(GTK_WIDGET(plug->btn_back), TRUE);
- else
- gtk_widget_set_sensitive(GTK_WIDGET(plug->btn_back), FALSE);
+static void on_uri_changed_notify(GObject *object,
+ GParamSpec *pspec,
+ DevhelpPlugin *dhplug)
+{
+ update_history_buttons(dhplug);
+}
- if (webkit_web_view_can_go_forward(view))
- gtk_widget_set_sensitive(GTK_WIDGET(plug->btn_forward), TRUE);
- else
- gtk_widget_set_sensitive(GTK_WIDGET(plug->btn_forward), FALSE);
+static void on_load_status_changed_notify(GObject *object,
+ GParamSpec *pspec,
+ DevhelpPlugin *dhplug)
+{
+ update_history_buttons(dhplug);
}
@@ -395,6 +410,14 @@
g_signal_connect(WEBKIT_WEB_VIEW(dhplug->webview),
"document-load-finished",
G_CALLBACK(on_document_load_finished), dhplug);
+ g_signal_connect(WEBKIT_WEB_VIEW(dhplug->webview),
+ "notify::uri",
+ G_CALLBACK(on_uri_changed_notify),
+ dhplug);
+ g_signal_connect(WEBKIT_WEB_VIEW(dhplug->webview),
+ "notify::load-status",
+ G_CALLBACK(on_load_status_changed_notify),
+ dhplug);
/* toggle state tracking */
dhplug->last_main_tab_id =
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list