aboutsummaryrefslogtreecommitdiffstats
path: root/lib/widgets/ephy-location-entry.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/widgets/ephy-location-entry.c')
-rw-r--r--lib/widgets/ephy-location-entry.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/widgets/ephy-location-entry.c b/lib/widgets/ephy-location-entry.c
index 076d8642f..f13c87e88 100644
--- a/lib/widgets/ephy-location-entry.c
+++ b/lib/widgets/ephy-location-entry.c
@@ -480,18 +480,28 @@ static gboolean
ephy_location_entry_key_press_event_cb (GtkWidget *entry, GdkEventKey *event, EphyLocationEntry *w)
{
EphyLocationEntryPrivate *p = w->priv;
+ GtkWidget *window;
switch (event->keyval)
{
case GDK_Left:
case GDK_Right:
ephy_location_entry_autocompletion_hide_alternatives (w);
- return FALSE;
+ break;
case GDK_Escape:
ephy_location_entry_set_location (w, p->before_completion);
gtk_editable_set_position (GTK_EDITABLE (p->entry), -1);
ephy_location_entry_autocompletion_hide_alternatives (w);
- return FALSE;
+ break;
+ case GDK_Tab:
+ case GDK_KP_Tab:
+ if (p->autocompletion_window_visible)
+ {
+ ephy_location_entry_autocompletion_hide_alternatives (w);
+ window = gtk_widget_get_toplevel (entry);
+ g_signal_emit_by_name (window, "move_focus", 1);
+ }
+ break;
default:
break;
}