From 8c189045d953c4dc42076776d6f853a692421a42 Mon Sep 17 00:00:00 2001 From: mutantturkey Date: Tue, 17 May 2011 23:44:15 -0400 Subject: move cb_keypress to callbacks.c, fixed a few warnings, added functions to sb.h --- callbacks.c | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) (limited to 'callbacks.c') diff --git a/callbacks.c b/callbacks.c index 27bdaf1..23c745b 100644 --- a/callbacks.c +++ b/callbacks.c @@ -7,8 +7,44 @@ #include #include "defaults.h" #include "callbacks.h" - #include "sb.h" + + +/* key press callback function. NEEDED: a config.h where keys are defined */ +gboolean cb_keypress (GtkWidget *widget, GdkEventKey *event) { +guint(g) = event->keyval; + +if ( (event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK ) { + switch(g) { + case GDK_l: grab_bar(); return TRUE; break; + case GDK_f: show_search(TRUE); return TRUE; break; + case GDK_g: tab_and_go(); return TRUE; break; + case GDK_KEY_comma: cb_go(FALSE); return TRUE; break; + case GDK_KEY_period: cb_go(TRUE); return TRUE; break; + case GDK_o: history_command(); return TRUE; break; + case GDK_h: toggle(); focus_view(); return TRUE; break; + case GDK_Page_Up: tab_switch(FALSE); return TRUE; break; + case GDK_Page_Down: tab_switch(TRUE); return TRUE; break; + case GDK_t: tab_new(FALSE); gtk_widget_grab_focus(w.bar); return TRUE; break; + case GDK_w: tab_close(); return TRUE; break; + case GDK_bracketright: tab_zoom(TRUE); return TRUE; break; + case GDK_bracketleft: tab_zoom(FALSE); return TRUE; break; + case GDK_r: tab_reload(); return TRUE; break; + case GDK_s: tab_view_source(); return TRUE; break; + case GDK_Return: load_uri(g_strconcat(DEFAULT_SEARCH, gtk_entry_get_text(GTK_ENTRY(w.bar)), NULL)); return TRUE; break; + default: return FALSE; break; + } + +} + +if (gtk_widget_has_focus(w.bar) && g == GDK_Escape) { gtk_widget_grab_focus(GTK_WIDGET(w.notebook)); return TRUE; } +if (gtk_widget_has_focus(w.search)) { + if (g == GDK_Escape) { show_search(FALSE); focus_view(); return TRUE; } + if ((g == GDK_Return) && (event->state & GDK_MOD1_MASK) == GDK_MOD1_MASK) { search(NULL, FALSE); } +} +return FALSE; +} + /* download callback */ void cb_download(WebKitWebView *web_view, GObject *d, gpointer user_data) { const gchar *c = webkit_download_get_uri(WEBKIT_DOWNLOAD(d)); @@ -39,6 +75,7 @@ if (b) { webkit_web_view_go_forward(t->view); } else { webkit_web_view_go_back(t->view); } } + /* when the page load is commited, call this function */ void cb_commit_load (WebKitWebView* page, WebKitWebFrame* frame, tab *t) { -- cgit v1.2.3