summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Pursehouse <david.pursehouse@sonymobile.com>2013-05-08 12:26:41 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2013-05-08 12:26:43 +0000
commit72fab4e71f43a696dfda8c014d00eb0a46734b29 (patch)
treedca9c38851cf7b64e98e02161cde3d72b716cb7b
parente4ccaeeb57cc3e91f6d62f388ec3fa1c5c8ad41e (diff)
parent7ffd3adf6e37005b8ffa4ef8ac5139a1181e6acc (diff)
Merge "Handle 'Event.ONPASTE' in CreateProjectScreen" into stable-2.6
-rw-r--r--gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateProjectScreen.java26
1 files changed, 24 insertions, 2 deletions
diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateProjectScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateProjectScreen.java
index f7d50f2ea7..7749e9c1cb 100644
--- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateProjectScreen.java
+++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/CreateProjectScreen.java
@@ -27,6 +27,7 @@ import com.google.gerrit.client.projects.ProjectInfo;
import com.google.gerrit.client.projects.ProjectMap;
import com.google.gerrit.client.rpc.GerritCallback;
import com.google.gerrit.client.ui.HintTextBox;
+import com.google.gerrit.client.ui.OnEditEnabler;
import com.google.gerrit.client.ui.ProjectListPopup;
import com.google.gerrit.client.ui.ProjectNameSuggestOracle;
import com.google.gerrit.client.ui.ProjectsTable;
@@ -34,11 +35,14 @@ import com.google.gerrit.client.ui.Screen;
import com.google.gerrit.common.PageLinks;
import com.google.gerrit.common.ProjectUtil;
import com.google.gerrit.reviewdb.client.Project;
+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.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Anchor;
@@ -110,8 +114,8 @@ public class CreateProjectScreen extends Screen {
final VerticalPanel fp = new VerticalPanel();
fp.setStyleName(Gerrit.RESOURCES.css().createProjectPanel());
- initCreateTxt();
initCreateButton();
+ initCreateTxt();
initParentBox();
addGrid(fp);
@@ -129,7 +133,23 @@ public class CreateProjectScreen extends Screen {
}
private void initCreateTxt() {
- project = new NpTextBox();
+ project = 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 (project.getValue().trim().length() != 0) {
+ create.setEnabled(true);
+ }
+ }
+ });
+ }
+ }
+ };
+ project.sinkEvents(Event.ONPASTE);
project.setVisibleLength(50);
project.addKeyPressHandler(new KeyPressHandler() {
@Override
@@ -139,10 +159,12 @@ public class CreateProjectScreen extends Screen {
}
}
});
+ new OnEditEnabler(create, project);
}
private void initCreateButton() {
create = new Button(Util.C.buttonCreateProject());
+ create.setEnabled(false);
create.addClickHandler(new ClickHandler() {
@Override
public void onClick(final ClickEvent event) {