+ case GDK_KEY_r: /* reload (left hand) */
+ webkit_web_view_reload_bypass_cache(WEBKIT_WEB_VIEW(
+ c->web_view));
+ return TRUE;
+ case GDK_KEY_k: /* initiate search (BOTH hands) */
+ gtk_entry_set_text(GTK_ENTRY(c->location), "/");
+ gtk_editable_set_position(GTK_EDITABLE(c->location), -1);
+ return TRUE;
+ }
+ }
+ else
+ {
+ switch (((GdkEventKey *)event)->keyval)
+ {
+ case GDK_KEY_Return:
+ gtk_widget_grab_focus(c->web_view);
+ t = gtk_entry_get_text(GTK_ENTRY(c->location));
+ if (t != NULL && t[0] == '/')
+ {
+ if (search_text != NULL)
+ g_free(search_text);
+ search_text = g_strdup(t + 1); /* XXX whacky */
+ search(c, 1);
+ }
+ else
+ {
+ f = ensure_url_scheme(t);
+ if (show_all_requests)
+ fprintf(stderr, "====> %s\n", f);
+ webkit_web_view_load_uri(WEBKIT_WEB_VIEW(c->web_view), f);
+ g_free(f);
+ }
+ return TRUE;
+ case GDK_KEY_Escape:
+ t = webkit_web_view_get_uri(WEBKIT_WEB_VIEW(c->web_view));
+ gtk_entry_set_text(GTK_ENTRY(c->location),
+ (t == NULL ? __NAME__ : t));
+ return TRUE;
+ }