Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit4e947ca306fa2e4ce84011fd79419adec9862b17 (patch)
Author
 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2019-04-26 19:57:54 +0200
Committer
 Haelwenn (lanodan) Monnier <contact@hacktivis.me>
2019-04-26 19:57:54 +0200
Files6acd14562759ee0f91f0453dc316c1d17a045fea
goodwolf-4e947ca306fa2e4ce84011fd79419adec9862b17.tar
goodwolf-4e947ca306fa2e4ce84011fd79419adec9862b17.tar.gz
goodwolf-4e947ca306fa2e4ce84011fd79419adec9862b17.zip
Parentc11c1a8f35b0ee89df956029f2a77d55d5a28c42 (diff)
badwolf: Define commonCb_key_press_event()
1 files changed, 33 insertions, 0 deletions
-rw-r--r--badwolf.c33
diff --git a/badwolf.c b/badwolf.c
index 475cc28..471ae9f 100644
--- a/badwolf.c
+++ b/badwolf.c
@@ -34,6 +34,7 @@ struct Client
};
static gboolean WebViewCb_close(WebKitWebView *webView, gpointer user_data);
+static gboolean commonCb_key_press_event(struct Client *browser, GdkEvent *event);
static gboolean WebViewCb_web_process_terminated(WebKitWebView *webView,
WebKitWebProcessTerminationReason reason,
gpointer user_data);
@@ -87,6 +88,38 @@ WebViewCb_close(WebKitWebView *webView, gpointer user_data)
}
static gboolean
+commonCb_key_press_event(struct Client *browser, GdkEvent *event)
+{
+ GtkNotebook *notebook = GTK_NOTEBOOK(browser->window->notebook);
+
+ if(((GdkEventKey *)event)->state & GDK_CONTROL_MASK)
+ {
+ switch(((GdkEventKey *)event)->keyval)
+ {
+ case GDK_KEY_F4: webkit_web_view_try_close(browser->webView); return TRUE;
+ case GDK_KEY_r:
+ if(((GdkEventKey *)event)->state & GDK_SHIFT_MASK)
+ webkit_web_view_reload_bypass_cache(browser->webView);
+ else
+ webkit_web_view_reload(browser->webView);
+
+ return TRUE;
+ case GDK_KEY_f: gtk_widget_grab_focus(browser->search); return TRUE;
+ case GDK_KEY_l: gtk_widget_grab_focus(browser->location); return TRUE;
+ case GDK_KEY_Page_Down: gtk_notebook_next_page(notebook); return TRUE;
+ case GDK_KEY_Page_Up: gtk_notebook_prev_page(notebook); return TRUE;
+ case GDK_KEY_t:
+ badwolf_new_tab(notebook, new_browser(browser->window, NULL, NULL));
+ return TRUE;
+ case GDK_KEY_bracketleft: webkit_web_view_go_back(browser->webView); return TRUE;
+ case GDK_KEY_bracketright: webkit_web_view_go_forward(browser->webView); return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static gboolean
WebViewCb_web_process_terminated(WebKitWebView *webView,
WebKitWebProcessTerminationReason reason,
gpointer user_data)