diff options
author | David Pursehouse <david.pursehouse@sonymobile.com> | 2013-05-08 12:26:41 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-05-08 12:26:43 +0000 |
commit | 72fab4e71f43a696dfda8c014d00eb0a46734b29 (patch) | |
tree | dca9c38851cf7b64e98e02161cde3d72b716cb7b | |
parent | e4ccaeeb57cc3e91f6d62f388ec3fa1c5c8ad41e (diff) | |
parent | 7ffd3adf6e37005b8ffa4ef8ac5139a1181e6acc (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.java | 26 |
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) { |