Summary Files Commits Branches @commit @diff @stats
path: root / badwolf.c
diff options
context:
space:
mode:
Commitf74132929d008a5b07f7143e876c68e27cf33cf2 (patch)
Author
 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2020-05-16 06:49:56 +0200
Committer
 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2020-05-16 06:59:36 +0200
Filesda688afbc782fa2da73b98c757fb62934fe923d5 /badwolf.c
goodwolf-f74132929d008a5b07f7143e876c68e27cf33cf2.tar
goodwolf-f74132929d008a5b07f7143e876c68e27cf33cf2.tar.gz
goodwolf-f74132929d008a5b07f7143e876c68e27cf33cf2.zip
Parentebf0355bf2cd55b966a45171b140bb4b0a43a691 (diff)
badwolf: disable back/forward when useless
1 files changed, 12 insertions, 0 deletions
-rw-r--r--badwolf.c12
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),