diff options
author | Peter Hofmann <scm@uninformativ.de> | 2014-06-15 11:44:48 +0200 |
---|---|---|
committer | Peter Hofmann <scm@uninformativ.de> | 2014-06-15 11:55:52 +0200 |
commit | c558a8f810117013a220d49e57acab6c6d417780 (patch) | |
tree | 41e6a581287efdbb6394a63aa032aefd1a28ed43 | |
parent | 13d1b01164a3a6bc3ad3629985edc47e335a9d35 (diff) | |
download | lariza-c558a8f810117013a220d49e57acab6c6d417780.tar.gz |
Re-show URI in location bar on Escape
-rw-r--r-- | browser.c | 32 |
1 files changed, 19 insertions, 13 deletions
@@ -443,20 +443,26 @@ key_location(GtkWidget *widget, GdkEvent *event, gpointer data) if (event->type == GDK_KEY_PRESS) { - if (((GdkEventKey *)event)->keyval == GDK_KEY_Return) + switch (((GdkEventKey *)event)->keyval) { - 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 - webkit_web_view_load_uri(WEBKIT_WEB_VIEW(c->web_view), t); - return TRUE; + 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 + webkit_web_view_load_uri(WEBKIT_WEB_VIEW(c->web_view), t); + 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; } } |