Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(156)

Side by Side Diff: chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc

Issue 42074: Hookup the escape key on Linux Omnibox to revert to the permanent text (like Windows). (Closed)
Patch Set: merge tro trunk Created 11 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h" 5 #include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h"
6 6
7 #include <gtk/gtk.h> 7 #include <gtk/gtk.h>
8 #include <gdk/gdkkeysyms.h> 8 #include <gdk/gdkkeysyms.h>
9 9
10 #include "base/gfx/gtk_util.h" 10 #include "base/gfx/gtk_util.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 NULL, "foreground", kInsecureSchemeColor, NULL); 81 NULL, "foreground", kInsecureSchemeColor, NULL);
82 82
83 // NOTE: This code used to connect to "changed", however this was fired too 83 // NOTE: This code used to connect to "changed", however this was fired too
84 // often and during bad times (our own buffer changes?). It works out much 84 // often and during bad times (our own buffer changes?). It works out much
85 // better to listen to end-user-action, which should be fired whenever the 85 // better to listen to end-user-action, which should be fired whenever the
86 // user makes some sort of change to the buffer. 86 // user makes some sort of change to the buffer.
87 g_signal_connect(text_buffer_, "begin-user-action", 87 g_signal_connect(text_buffer_, "begin-user-action",
88 G_CALLBACK(&HandleBeginUserActionThunk), this); 88 G_CALLBACK(&HandleBeginUserActionThunk), this);
89 g_signal_connect(text_buffer_, "end-user-action", 89 g_signal_connect(text_buffer_, "end-user-action",
90 G_CALLBACK(&HandleEndUserActionThunk), this); 90 G_CALLBACK(&HandleEndUserActionThunk), this);
91 // We connect to key press and release for special handling of the enter key. 91 // We connect to key press and release for special handling of a few keys.
92 g_signal_connect(text_view_, "key-press-event", 92 g_signal_connect(text_view_, "key-press-event",
93 G_CALLBACK(&HandleKeyPressThunk), this); 93 G_CALLBACK(&HandleKeyPressThunk), this);
94 g_signal_connect(text_view_, "key-release-event", 94 g_signal_connect(text_view_, "key-release-event",
95 G_CALLBACK(&HandleKeyReleaseThunk), this); 95 G_CALLBACK(&HandleKeyReleaseThunk), this);
96 g_signal_connect(text_view_, "size-request", 96 g_signal_connect(text_view_, "size-request",
97 G_CALLBACK(&HandleViewSizeRequest), this); 97 G_CALLBACK(&HandleViewSizeRequest), this);
98 g_signal_connect(text_view_, "button-press-event", 98 g_signal_connect(text_view_, "button-press-event",
99 G_CALLBACK(&HandleViewButtonPressThunk), this); 99 G_CALLBACK(&HandleViewButtonPressThunk), this);
100 g_signal_connect(text_view_, "focus-in-event", 100 g_signal_connect(text_view_, "focus-in-event",
101 G_CALLBACK(&HandleViewFocusInThunk), this); 101 G_CALLBACK(&HandleViewFocusInThunk), this);
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 // GtkTextView key_press default handler. TODO(deanm): We do however omit 329 // GtkTextView key_press default handler. TODO(deanm): We do however omit
330 // some IME related code, this might become a problem if an IME wants to 330 // some IME related code, this might become a problem if an IME wants to
331 // handle enter. We can get at the im_context and do it ourselves if needed. 331 // handle enter. We can get at the im_context and do it ourselves if needed.
332 if (event->keyval == GDK_Return || 332 if (event->keyval == GDK_Return ||
333 event->keyval == GDK_ISO_Enter || 333 event->keyval == GDK_ISO_Enter ||
334 event->keyval == GDK_KP_Enter) { 334 event->keyval == GDK_KP_Enter) {
335 bool alt_held = (event->state & GDK_MOD1_MASK); 335 bool alt_held = (event->state & GDK_MOD1_MASK);
336 model_->AcceptInput(alt_held ? NEW_FOREGROUND_TAB : CURRENT_TAB, false); 336 model_->AcceptInput(alt_held ? NEW_FOREGROUND_TAB : CURRENT_TAB, false);
337 return TRUE; // Don't propagate into GtkTextView. 337 return TRUE; // Don't propagate into GtkTextView.
338 } 338 }
339 if (event->keyval == GDK_Escape && event->state == 0) {
340 model_->OnEscapeKeyPressed();
341 return TRUE; // Don't propagate into GtkTextView.
342 }
339 return FALSE; // Propagate into GtkTextView. 343 return FALSE; // Propagate into GtkTextView.
340 } 344 }
341 345
342 gboolean AutocompleteEditViewGtk::HandleKeyRelease(GtkWidget* widget, 346 gboolean AutocompleteEditViewGtk::HandleKeyRelease(GtkWidget* widget,
343 GdkEventKey* event) { 347 GdkEventKey* event) {
344 // We ate the press, might as well eat the release. 348 // We ate the press, might as well eat the release.
345 if (event->keyval == GDK_Return || 349 if (event->keyval == GDK_Return ||
346 event->keyval == GDK_ISO_Enter || 350 event->keyval == GDK_ISO_Enter ||
347 event->keyval == GDK_KP_Enter) { 351 event->keyval == GDK_KP_Enter ||
352 (event->keyval == GDK_Escape && event->state == 0)) {
348 return TRUE; // Don't propagate into GtkTextView. 353 return TRUE; // Don't propagate into GtkTextView.
349 } 354 }
350 return FALSE; // Propagate into GtkTextView. 355 return FALSE; // Propagate into GtkTextView.
351 } 356 }
352 357
353 // static 358 // static
354 void AutocompleteEditViewGtk::HandleViewSizeRequest(GtkWidget* view, 359 void AutocompleteEditViewGtk::HandleViewSizeRequest(GtkWidget* view,
355 GtkRequisition* req, 360 GtkRequisition* req,
356 gpointer unused) { 361 gpointer unused) {
357 // Don't force a minimum size, allow our embedder to size us better. 362 // Don't force a minimum size, allow our embedder to size us better.
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 &start, &end); 499 &start, &end);
495 } 500 }
496 gtk_widget_modify_base(text_view_, GTK_STATE_NORMAL, background); 501 gtk_widget_modify_base(text_view_, GTK_STATE_NORMAL, background);
497 } 502 }
498 } 503 }
499 504
500 void AutocompleteEditViewGtk::TextChanged() { 505 void AutocompleteEditViewGtk::TextChanged() {
501 EmphasizeURLComponents(); 506 EmphasizeURLComponents();
502 controller_->OnChanged(); 507 controller_->OnChanged();
503 } 508 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698