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 <edwin.kempin@sap.com>
Change-Id: Ia61ba2fbd150e1c587d7c40252d500e28a99711b
This commit is contained in:
Edwin Kempin 2011-05-18 20:21:24 +02:00
parent 0908bff975
commit 676d5b3d73
12 changed files with 15 additions and 15 deletions

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}
}

View File

@ -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();
}

View File

@ -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();
}

View File

@ -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();
}
}

View File

@ -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 {

View File

@ -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 {