Index: views/controls/textfield/native_textfield_gtk.cc |
diff --git a/views/controls/textfield/native_textfield_gtk.cc b/views/controls/textfield/native_textfield_gtk.cc |
index b52a50bbd22aac612229dbff80dc1316b25ed276..19437256d6c59187e5a7feff62aaadc8a6b1b3a6 100644 |
--- a/views/controls/textfield/native_textfield_gtk.cc |
+++ b/views/controls/textfield/native_textfield_gtk.cc |
@@ -361,6 +361,18 @@ gboolean NativeTextfieldGtk::OnKeyPressEvent(GdkEventKey* event) { |
} |
// static |
+gboolean NativeTextfieldGtk::OnActivateHandler( |
+ GtkWidget* widget, |
+ NativeTextfieldGtk* textfield) { |
+ return textfield->OnActivate(); |
+} |
+ |
+gboolean NativeTextfieldGtk::OnActivate() { |
+ return textfield_->GetParent()->AcceleratorPressed( |
+ Accelerator(app::VKEY_RETURN, false, false, false)); |
James Su
2010/12/01 18:35:56
It's probably better to call the widget's HandleKe
|
+} |
+ |
+// static |
gboolean NativeTextfieldGtk::OnChangedHandler( |
GtkWidget* widget, |
NativeTextfieldGtk* textfield) { |
@@ -409,6 +421,9 @@ void NativeTextfieldGtk::NativeControlCreated(GtkWidget* widget) { |
} |
g_signal_connect(widget, "key-press-event", |
G_CALLBACK(OnKeyPressEventHandler), this); |
+ // In order to properly trigger Accelerators bound to VKEY_RETURN, we need to |
+ // send an event when the widget gets the activate signal. |
+ g_signal_connect(widget, "activate", G_CALLBACK(&OnActivateHandler), this); |
James Su
2010/12/01 18:35:56
Only GtkEntry has "activate" signal.
|
} |
//////////////////////////////////////////////////////////////////////////////// |