diff options
author | Tor Norbye <tnorbye@google.com> | 2014-09-04 13:25:33 -0700 |
---|---|---|
committer | Tor Norbye <tnorbye@google.com> | 2014-09-04 13:25:33 -0700 |
commit | d245f58efbfc26b13b9b9d5e52e6a83a0d76216c (patch) | |
tree | bca7d49005d81d10c70bc3f547df041c636b4300 /platform/dvcs-impl/src/com/intellij/dvcs/push/ui/VcsPushDialog.java | |
parent | 9cde0e3c015174898df8b8f3672185941fad4786 (diff) | |
parent | c3d3a90f6b4ead083d63e28e6b9fcea93d675678 (diff) | |
download | idea-d245f58efbfc26b13b9b9d5e52e6a83a0d76216c.tar.gz |
Merge remote-tracking branch 'aosp/upstream-master' into merge
Diffstat (limited to 'platform/dvcs-impl/src/com/intellij/dvcs/push/ui/VcsPushDialog.java')
-rw-r--r-- | platform/dvcs-impl/src/com/intellij/dvcs/push/ui/VcsPushDialog.java | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/VcsPushDialog.java b/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/VcsPushDialog.java index b441952f7a43..22f1e74abbbd 100644 --- a/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/VcsPushDialog.java +++ b/platform/dvcs-impl/src/com/intellij/dvcs/push/ui/VcsPushDialog.java @@ -15,11 +15,13 @@ */ package com.intellij.dvcs.push.ui; +import com.intellij.CommonBundle; import com.intellij.dvcs.push.PushController; import com.intellij.dvcs.push.VcsPushOptionsPanel; import com.intellij.dvcs.repo.Repository; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; +import com.intellij.openapi.ui.Messages; import com.intellij.openapi.ui.OptionAction; import com.intellij.openapi.ui.ValidationInfo; import net.miginfocom.swing.MigLayout; @@ -32,8 +34,11 @@ import java.awt.event.ActionEvent; import java.util.ArrayList; import java.util.List; +import static com.intellij.openapi.ui.Messages.OK; + public class VcsPushDialog extends DialogWrapper { + @NotNull private final Project myProject; private final PushLog myListPanel; private final PushController myController; private final Action[] myExecutorActions = {new DvcsPushAction("&Force Push", true)}; @@ -43,8 +48,9 @@ public class VcsPushDialog extends DialogWrapper { public VcsPushDialog(@NotNull Project project, @NotNull List<? extends Repository> selectedRepositories) { super(project); + myProject = project; myController = new PushController(project, this, selectedRepositories); - myListPanel = myController.getPushPanelInfo(); + myListPanel = myController.getPushPanelLog(); myAdditionalOptionsFromVcsPanel = new JPanel(new MigLayout("ins 0 0, flowx")); init(); setOKButtonText("Push"); @@ -82,6 +88,12 @@ public class VcsPushDialog extends DialogWrapper { return actions.toArray(new Action[actions.size()]); } + @Nullable + @Override + public JComponent getPreferredFocusedComponent() { + return myListPanel.getPreferredFocusedComponent(); + } + @NotNull @Override protected Action getOKAction() { @@ -127,6 +139,12 @@ public class VcsPushDialog extends DialogWrapper { @Override public void actionPerformed(ActionEvent e) { + if (myForce) { + int answer = Messages.showOkCancelDialog(myProject, getConfirmationMessage(), + "Force Push", + "&Force Push", CommonBundle.getCancelButtonText(), Messages.getWarningIcon()); + if (answer != OK) return; + } myController.push(myForce); close(OK_EXIT_CODE); } @@ -141,4 +159,9 @@ public class VcsPushDialog extends DialogWrapper { myOptions = actions; } } + + @NotNull + private static String getConfirmationMessage() { + return "You're going to force push. It will overwrite commits at the remote. Are you sure you want to proceed?"; + } } |