From f74132929d008a5b07f7143e876c68e27cf33cf2 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Sat, 16 May 2020 06:49:56 +0200 Subject: badwolf: disable back/forward when useless --- badwolf.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'badwolf.c') diff --git a/badwolf.c b/badwolf.c index 29553e1..a00840e 100644 --- a/badwolf.c +++ b/badwolf.c @@ -48,6 +48,8 @@ static gboolean WebViewCb_decide_policy(WebKitWebView *web_view, WebKitPolicyDecision *decision, WebKitPolicyDecisionType decision_type, gpointer user_data); +static void +WebViewCb_load_changed(WebKitWebView *webView, WebKitLoadEvent load_event, gpointer user_data); static void web_contextCb_download_started(WebKitWebContext *web_context, WebKitDownload *download, gpointer user_data); @@ -332,6 +334,15 @@ WebViewCb_decide_policy(WebKitWebView *web_view, return TRUE; } +static void +WebViewCb_load_changed(WebKitWebView *webView, WebKitLoadEvent load_event, gpointer user_data) +{ + struct Client *browser = (struct Client *)user_data; + + gtk_widget_set_sensitive(browser->back, webkit_web_view_can_go_back(browser->webView)); + gtk_widget_set_sensitive(browser->forward, webkit_web_view_can_go_forward(browser->webView)); +} + static char * detail_tls_certificate_flags(GTlsCertificateFlags tls_errors) { @@ -753,6 +764,7 @@ new_browser(struct Window *window, const gchar *target_url, WebKitWebView *relat "load-failed-with-tls-errors", G_CALLBACK(WebViewCb_load_failed_with_tls_errors), browser); + g_signal_connect(browser->webView, "load-changed", G_CALLBACK(WebViewCb_load_changed), browser); /* signals for WebView's WebContext */ g_signal_connect(G_OBJECT(web_context), -- cgit v1.3.1-23-gd82d