diff options
Diffstat (limited to 'src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java')
-rw-r--r-- | src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java b/src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java index 0bf1c3fa4d..4295f27e76 100644 --- a/src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java +++ b/src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java @@ -33,6 +33,7 @@ import com.google.gerrit.client.rpc.Common; import com.google.gerrit.client.rpc.GerritCallback; import com.google.gerrit.client.ui.RefreshListener; import com.google.gwt.user.client.Window; +import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.ClickListener; import com.google.gwt.user.client.ui.Composite; @@ -161,6 +162,9 @@ class PatchSetPanel extends Composite implements DisclosureHandler { if (Gerrit.isSignedIn() && changeDetail.isCurrentPatchSet(detail)) { populateCommentAction(); populateActions(detail); + if (changeDetail.canAbandon()) { + populateAbandonAction(); + } } body.add(patchTable); } @@ -311,6 +315,24 @@ class PatchSetPanel extends Composite implements DisclosureHandler { } } + private void populateAbandonAction() { + final Button b = new Button(Util.C.buttonAbandonChangeBegin()); + b.addClickListener(new ClickListener() { + public void onClick(Widget sender) { + new AbandonChangeDialog(patchSet.getId(), new AsyncCallback<Object>() { + public void onSuccess(Object result) { + actionsPanel.remove(b); + fireOnSuggestRefresh(); + } + + public void onFailure(Throwable caught) { + } + }).center(); + } + }); + actionsPanel.add(b); + } + private void populateCommentAction() { final Button b = new Button(Util.C.buttonPublishCommentsBegin()); b.addClickListener(new ClickListener() { |