diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/AbandonChangeDialog.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/AbandonChangeDialog.java index 34e300add8..bc63fc0729 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/AbandonChangeDialog.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/AbandonChangeDialog.java @@ -75,6 +75,7 @@ public class AbandonChangeDialog extends AutoCenterDialogBox implements CloseHan @Override public void onClick(final ClickEvent event) { sendButton.setEnabled(false); + cancelButton.setEnabled(false); Util.MANAGE_SVC.abandonChange(psid, message.getText().trim(), new GerritCallback() { public void onSuccess(ChangeDetail result) { @@ -88,6 +89,7 @@ public class AbandonChangeDialog extends AutoCenterDialogBox implements CloseHan @Override public void onFailure(Throwable caught) { sendButton.setEnabled(true); + cancelButton.setEnabled(true); super.onFailure(caught); } }); diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java index 23dd635719..a20b02ec89 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/ApprovalTable.java @@ -232,7 +232,7 @@ public class ApprovalTable extends Composite { table.setWidget(row, col++, link(ad.getAccount())); if (ad.canRemove()) { - PushButton remove = new PushButton( // + final PushButton remove = new PushButton( // new Image(Util.R.removeReviewerNormal()), // new Image(Util.R.removeReviewerPressed())); remove.setTitle(Util.M.removeReviewer( // @@ -241,7 +241,7 @@ public class ApprovalTable extends Composite { remove.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { - doRemove(ad); + doRemove(ad, remove); } }); table.setWidget(row, col, remove); @@ -294,7 +294,8 @@ public class ApprovalTable extends Composite { col++; } - private void doRemove(final ApprovalDetail ad) { + private void doRemove(final ApprovalDetail ad, final PushButton remove) { + remove.setEnabled(false); PatchUtil.DETAIL_SVC.removeReviewer(changeId, ad.getAccount(), new GerritCallback() { @Override @@ -306,6 +307,12 @@ public class ApprovalTable extends Composite { new ErrorDialog(result.getErrors().get(0).toString()).center(); } } + + @Override + public void onFailure(final Throwable caught) { + remove.setEnabled(true); + super.onFailure(caught); + } }); } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java index 248e57de72..2c62565e85 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/PatchSetComplexDisclosurePanel.java @@ -400,6 +400,7 @@ class PatchSetComplexDisclosurePanel extends ComplexDisclosurePanel implements O b.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { + b.setEnabled(false); new AbandonChangeDialog(patchSet.getId(), new AsyncCallback() { public void onSuccess(ChangeDetail result) { @@ -420,6 +421,7 @@ class PatchSetComplexDisclosurePanel extends ComplexDisclosurePanel implements O b.addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { + b.setEnabled(false); new RestoreChangeDialog(patchSet.getId(), new AsyncCallback() { public void onSuccess(ChangeDetail result) { diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/RestoreChangeDialog.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/RestoreChangeDialog.java index e05c42afc6..69d7c1fdc9 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/RestoreChangeDialog.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/changes/RestoreChangeDialog.java @@ -75,6 +75,7 @@ public class RestoreChangeDialog extends AutoCenterDialogBox implements CloseHan @Override public void onClick(final ClickEvent event) { sendButton.setEnabled(false); + cancelButton.setEnabled(false); Util.MANAGE_SVC.restoreChange(psid, message.getText().trim(), new GerritCallback() { @Override @@ -89,6 +90,7 @@ public class RestoreChangeDialog extends AutoCenterDialogBox implements CloseHan @Override public void onFailure(Throwable caught) { sendButton.setEnabled(true); + cancelButton.setEnabled(true); super.onFailure(caught); } });