summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Zu <bruce.zu@sonymobile.com>2013-05-06 18:02:28 +0800
committerBruce Zu <bruce.zu@sonymobile.com>2013-05-06 18:39:39 +0800
commitcb0a36e6d3aa630913e2d63bf1a2e751c7219831 (patch)
tree9de49410e0fa0c8bf8edeb32a5183351190462fd
parent8a248879e3c9cb8fdfc74edd54145c7bb9ee1c78 (diff)
Handle 'Event.ONPASTE' in CreateGroupScreen
Support pasting with right mouse click and "paste" group name from the context menu into the input field and enable the "Create Group" button. For 'Event.ONPASTE' Gwt(2.5.0) Note: "This event is not supported on Firefox 2 and earlier, or Opera 10 and earlier. Be aware that it will not fire on these browser versions." Bug: Issue 1843 Change-Id: I5a866fd84def719b70d0f55c89188efdce4cf2ff
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateGroupScreen.java22
1 files changed, 21 insertions, 1 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateGroupScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateGroupScreen.java
index 53fb3ab5e0..69dff5c6e1 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateGroupScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateGroupScreen.java
@@ -27,11 +27,14 @@ import com.google.gerrit.client.ui.OnEditEnabler;
import com.google.gerrit.client.ui.Screen;
import com.google.gerrit.client.ui.SmallHeading;
import com.google.gerrit.common.PageLinks;
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.event.dom.client.KeyPressEvent;
import com.google.gwt.event.dom.client.KeyPressHandler;
+import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.History;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.VerticalPanel;
@@ -74,7 +77,24 @@ public class CreateGroupScreen extends Screen {
addPanel.setStyleName(Gerrit.RESOURCES.css().addSshKeyPanel());
addPanel.add(new SmallHeading(Util.C.headingCreateGroup()));
- addTxt = new NpTextBox();
+ addTxt = new NpTextBox() {
+ @Override
+ public void onBrowserEvent(Event event) {
+ super.onBrowserEvent(event);
+ if (event.getTypeInt() == Event.ONPASTE) {
+ Scheduler.get().scheduleDeferred(new ScheduledCommand() {
+ @Override
+ public void execute() {
+ if (addTxt.getValue().trim().length() != 0) {
+ addNew.setEnabled(true);
+ }
+ }
+ });
+ }
+ }
+ };
+ addTxt.sinkEvents(Event.ONPASTE);
+
addTxt.setVisibleLength(60);
addTxt.addKeyPressHandler(new KeyPressHandler() {
@Override