From 676d5b3d73f6f270a584bc417e22fb27d3a313ef Mon Sep 17 00:00:00 2001 From: Edwin Kempin Date: Wed, 18 May 2011 20:21:24 +0200 Subject: [PATCH] Make sure that ENTER works in all text fields There is a bug in gwt 2.1.0 [1] that prevents that pressing the ENTER key is properly recognized and so actions that are connected with pressing ENTER are not triggered. Examples: - confirming a query in the query input field with ENTER does not trigger the query - confirming the login information in the UserPassSignInDialog with ENTER does not trigger the login - confirming to add a reviewer in the ChangeScreen with ENTER does not add the reviewer This problem only affects some browsers (e.g. Firefox, older versions of Google Chrome). The new code was tested with Google Chrome 11.0.696.68, Firefox 3.6.17, Firefox 4.0.1 and Internet Explorer 8.0.7600.1685. [1] http://code.google.com/p/google-web-toolkit/issues/detail?id=5558 Bug: issue 946 Signed-off-by: Edwin Kempin Change-Id: Ia61ba2fbd150e1c587d7c40252d500e28a99711b --- .../src/main/java/com/google/gerrit/client/SearchPanel.java | 2 +- .../google/gerrit/client/account/MyWatchedProjectsScreen.java | 4 ++-- .../java/com/google/gerrit/client/account/UsernameField.java | 2 +- .../com/google/gerrit/client/admin/AccessRightEditor.java | 2 +- .../com/google/gerrit/client/admin/AccountGroupScreen.java | 2 +- .../java/com/google/gerrit/client/admin/GroupListScreen.java | 2 +- .../com/google/gerrit/client/admin/ProjectBranchesScreen.java | 4 ++-- .../google/gerrit/client/auth/openid/OpenIdSignInDialog.java | 2 +- .../gerrit/client/auth/userpass/UserPassSignInDialog.java | 4 ++-- .../gerrit/client/patches/PatchScriptSettingsPanel.java | 2 +- .../java/com/google/gerrit/client/ui/AddIncludedGroupBox.java | 2 +- .../main/java/com/google/gerrit/client/ui/AddMemberBox.java | 2 +- 12 files changed, 15 insertions(+), 15 deletions(-) diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/SearchPanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/SearchPanel.java index db5094d6df..a0b1da51c5 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/SearchPanel.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/SearchPanel.java @@ -46,7 +46,7 @@ class SearchPanel extends Composite { searchBox.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(final KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { doSearch(); } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchedProjectsScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchedProjectsScreen.java index 224ff93050..37819acafa 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchedProjectsScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/MyWatchedProjectsScreen.java @@ -173,7 +173,7 @@ public class MyWatchedProjectsScreen extends SettingsScreen implements public void onKeyPress(KeyPressEvent event) { submitOnSelection = false; - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { if (nameTxt.isSuggestionListShowing()) { submitOnSelection = true; } else { @@ -198,7 +198,7 @@ public class MyWatchedProjectsScreen extends SettingsScreen implements filterTxt.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { doAddNew(); } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java index 73e784bd6b..bee1636317 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/account/UsernameField.java @@ -58,7 +58,7 @@ class UsernameField extends Composite { userNameTxt.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { doSetUserName(); } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccessRightEditor.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccessRightEditor.java index ce4f094e36..8f6831b645 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccessRightEditor.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccessRightEditor.java @@ -108,7 +108,7 @@ public class AccessRightEditor extends Composite referenceTxt.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { doAddNewRight(); } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupScreen.java index bb386b070f..1b573c83f5 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/AccountGroupScreen.java @@ -386,7 +386,7 @@ public class AccountGroupScreen extends AccountScreen { externalNameFilter.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(final KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { doExternalSearch(); } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java index 45ed2f6d27..a6dbedc7b8 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/GroupListScreen.java @@ -75,7 +75,7 @@ public class GroupListScreen extends AccountScreen { addTxt.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { doCreateGroup(); } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java index 77c431a1da..1b49626d2c 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java @@ -112,7 +112,7 @@ public class ProjectBranchesScreen extends ProjectScreen { nameTxtBox.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { doAddNewBranch(); } } @@ -126,7 +126,7 @@ public class ProjectBranchesScreen extends ProjectScreen { irevTxtBox.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { doAddNewBranch(); } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdSignInDialog.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdSignInDialog.java index df229a60c1..d8999edace 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdSignInDialog.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/openid/OpenIdSignInDialog.java @@ -181,7 +181,7 @@ public class OpenIdSignInDialog extends SignInDialog implements providerId.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(final KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { event.preventDefault(); form.submit(); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/userpass/UserPassSignInDialog.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/userpass/UserPassSignInDialog.java index c4709a5c3c..5e3e1e8697 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/userpass/UserPassSignInDialog.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/auth/userpass/UserPassSignInDialog.java @@ -114,7 +114,7 @@ public class UserPassSignInDialog extends SignInDialog { username.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(final KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { event.preventDefault(); password.selectAll(); password.setFocus(true); @@ -128,7 +128,7 @@ public class UserPassSignInDialog extends SignInDialog { password.addKeyPressHandler(new KeyPressHandler() { @Override public void onKeyPress(final KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { event.preventDefault(); onLogin(); } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java index 5c777ff398..404eeebc26 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/patches/PatchScriptSettingsPanel.java @@ -117,7 +117,7 @@ public class PatchScriptSettingsPanel extends Composite implements KeyPressHandler onEnter = new KeyPressHandler() { @Override public void onKeyPress(KeyPressEvent event) { - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { update(); } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AddIncludedGroupBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AddIncludedGroupBox.java index 02e2745f5d..f6d8a4a436 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AddIncludedGroupBox.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AddIncludedGroupBox.java @@ -51,7 +51,7 @@ public class AddIncludedGroupBox extends Composite { public void onKeyPress(KeyPressEvent event) { submitOnSelection = false; - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { if (nameTxt.isSuggestionListShowing()) { submitOnSelection = true; } else { diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AddMemberBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AddMemberBox.java index b2d25e439f..e49a60902e 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AddMemberBox.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/ui/AddMemberBox.java @@ -52,7 +52,7 @@ public class AddMemberBox extends Composite { public void onKeyPress(KeyPressEvent event) { submitOnSelection = false; - if (event.getCharCode() == KeyCodes.KEY_ENTER) { + if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) { if (nameTxt.isSuggestionListShowing()) { submitOnSelection = true; } else {