From b9074dcfccde00b06556acfaecfc9c2dbe35bf04 Mon Sep 17 00:00:00 2001 From: "deanm@chromium.org" Date: Thu, 12 Mar 2009 11:20:43 +0000 Subject: Hookup the escape key on Linux Omnibox to revert to the permanent text (like Windows). BUG=8236 Review URL: http://codereview.chromium.org/42074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11529 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc index b7d2552..a22914b 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc +++ b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc @@ -88,7 +88,7 @@ void AutocompleteEditViewGtk::Init() { G_CALLBACK(&HandleBeginUserActionThunk), this); g_signal_connect(text_buffer_, "end-user-action", G_CALLBACK(&HandleEndUserActionThunk), this); - // We connect to key press and release for special handling of the enter key. + // We connect to key press and release for special handling of a few keys. g_signal_connect(text_view_, "key-press-event", G_CALLBACK(&HandleKeyPressThunk), this); g_signal_connect(text_view_, "key-release-event", @@ -336,6 +336,10 @@ gboolean AutocompleteEditViewGtk::HandleKeyPress(GtkWidget* widget, model_->AcceptInput(alt_held ? NEW_FOREGROUND_TAB : CURRENT_TAB, false); return TRUE; // Don't propagate into GtkTextView. } + if (event->keyval == GDK_Escape && event->state == 0) { + model_->OnEscapeKeyPressed(); + return TRUE; // Don't propagate into GtkTextView. + } return FALSE; // Propagate into GtkTextView. } @@ -344,7 +348,8 @@ gboolean AutocompleteEditViewGtk::HandleKeyRelease(GtkWidget* widget, // We ate the press, might as well eat the release. if (event->keyval == GDK_Return || event->keyval == GDK_ISO_Enter || - event->keyval == GDK_KP_Enter) { + event->keyval == GDK_KP_Enter || + (event->keyval == GDK_Escape && event->state == 0)) { return TRUE; // Don't propagate into GtkTextView. } return FALSE; // Propagate into GtkTextView. -- cgit v1.1