diff options
author | mutantturkey <crazycal00@gmail.com> | 2010-05-07 13:54:11 -0400 |
---|---|---|
committer | mutantturkey <crazycal00@gmail.com> | 2010-05-07 13:54:11 -0400 |
commit | dedbed1d1170c12bf18d50bfabc57a7a1bbd1c20 (patch) | |
tree | c3653752c7cdb5a62465a85d8744b221c994fad1 | |
parent | edce89d10313f59347f5dd07356b4cc8993f10c9 (diff) |
CTRL+ENTER queries google
-rw-r--r-- | sb.c | 13 |
1 files changed, 11 insertions, 2 deletions
@@ -16,6 +16,7 @@ static void link_hover_cb (WebKitWebView* page, const gchar* title, const gchar* static void title_change_cb(WebKitWebView *v, WebKitWebFrame *f, const char *title, tab *t); static void progress_change_cb (WebKitWebView* page, gint progress, gpointer data); static void load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data); +static void load_uri(gchar *uri); static void go_cb(gboolean b); static void tab_new(); static void tab_zoom(gboolean b); @@ -65,6 +66,11 @@ static void load_commit_cb (WebKitWebView* p, WebKitWebFrame* frame, gpointer da gtk_entry_set_text (GTK_ENTRY (w.bar), uri); } +static void load_uri(gchar *uri) { + struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); + webkit_web_view_load_uri(t->view, uri); +}; + static void tab_zoom (gboolean b) { struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); if (b) { webkit_web_view_set_zoom_level(t->view, (webkit_web_view_get_zoom_level(t->view) + .05)); } @@ -167,7 +173,6 @@ static void config() { gboolean key_press_cb (GtkWidget *widget, GdkEventKey *event) { if (event->state == GDK_CONTROL_MASK) { - if (gdk_keyval_to_lower(event->keyval) == GDK_f) { gtk_widget_grab_focus(GTK_WIDGET(w.bar)); return TRUE; } if (gdk_keyval_to_lower(event->keyval) == GDK_l) { gtk_widget_grab_focus(GTK_WIDGET(w.bar)); return TRUE; } if (gdk_keyval_to_lower(event->keyval) == GDK_j) { go_cb(FALSE); return TRUE; } if (gdk_keyval_to_lower(event->keyval) == GDK_k) { go_cb(TRUE); return TRUE; } @@ -175,10 +180,14 @@ if (event->state == GDK_CONTROL_MASK) { if (gdk_keyval_to_lower(event->keyval) == GDK_w) { tab_close(); return TRUE; } if (gdk_keyval_to_lower(event->keyval) == GDK_bracketright) { tab_zoom(TRUE); return TRUE; } if (gdk_keyval_to_lower(event->keyval) == GDK_bracketleft) { tab_zoom(FALSE); return TRUE; } + if (gtk_widget_has_focus(w.bar) && gdk_keyval_to_lower(event->keyval) == GDK_Return) { + load_uri(g_strconcat("http://www.google.com/search?q=", gtk_entry_get_text(GTK_ENTRY(w.bar)), NULL)); + return TRUE; + } else { return FALSE; } } if (gtk_widget_has_focus(w.bar) && gdk_keyval_to_lower(event->keyval) == GDK_Escape) { gtk_widget_grab_focus(GTK_WIDGET(w.notebook)); return TRUE; } - + return FALSE; } |