IDEA-169688 ui: fix centered buttons with DoNotAskOption

follow-up: 02b2823c22
This commit is contained in:
Aleksey Pivovarov
2017-03-15 18:26:09 +03:00
parent 2464532a56
commit a09fd58279
2 changed files with 13 additions and 11 deletions
@@ -604,6 +604,15 @@ public abstract class DialogWrapper {
return super.getBackground();
}
};
if (doNotAsk != null) {
myCheckBoxDoNotShowDialog = new JCheckBox(doNotAsk.getDoNotShowMessage());
myCheckBoxDoNotShowDialog.setVisible(doNotAsk.canBeHidden());
myCheckBoxDoNotShowDialog.setSelected(!doNotAsk.isToBeShown());
DialogUtil.registerMnemonic(myCheckBoxDoNotShowDialog, '&');
}
JComponent doNotAskCheckbox = createDoNotAskCheckbox();
final JPanel lrButtonsPanel = new NonOpaquePanel(new GridBagLayout());
//noinspection UseDPIAwareInsets
final Insets insets = SystemInfo.isMacOSLeopard ? UIUtil.isUnderIntelliJLaF() ? JBUI.insets(0, 8) : JBUI.emptyInsets() : new Insets(8, 0, 0, 0); //don't wrap to JBInsets
@@ -627,7 +636,7 @@ public abstract class DialogWrapper {
}
lrButtonsPanel.add(buttonsPanel, bag.next());
}
if (SwingConstants.CENTER == myButtonAlignment) {
if (SwingConstants.CENTER == myButtonAlignment && doNotAskCheckbox == null) {
lrButtonsPanel.add(Box.createHorizontalGlue(), bag.next().weightx(1).fillCellHorizontally()); // right strut
}
}
@@ -639,15 +648,6 @@ public abstract class DialogWrapper {
}
}
if (doNotAsk != null) {
myCheckBoxDoNotShowDialog = new JCheckBox(doNotAsk.getDoNotShowMessage());
myCheckBoxDoNotShowDialog.setVisible(doNotAsk.canBeHidden());
myCheckBoxDoNotShowDialog.setSelected(!doNotAsk.isToBeShown());
DialogUtil.registerMnemonic(myCheckBoxDoNotShowDialog, '&');
}
JComponent doNotAskCheckbox = createDoNotAskCheckbox();
if (helpButton != null || doNotAskCheckbox != null) {
JPanel leftPanel = new JPanel(new BorderLayout());
@@ -51,6 +51,7 @@ public class ShowSouthPanelTestDialogAction extends AnAction implements DumbAwar
private final JCheckBox myCompact = new JCheckBox("Compact style", false);
private final JCheckBox myErrorText = new JCheckBox("Error text", false);
private final JCheckBox myMoveErrorTextToButtons = new JCheckBox("Move error text to the buttons", false);
private final JCheckBox myCenterButtons = new JCheckBox("Center buttons", false);
public MyDialogWrapper(Project project) {
super(project);
@@ -76,6 +77,7 @@ public class ShowSouthPanelTestDialogAction extends AnAction implements DumbAwar
myAllowMergeButtons.addActionListener(e -> UISettings.getShadowInstance().setAllowMergeButtons(myAllowMergeButtons.isSelected()));
myErrorText.addActionListener(e -> setErrorText(myErrorText.isSelected() ? "Error text" : null, myErrorText));
myCenterButtons.addActionListener(e -> setButtonsAlignment(myCenterButtons.isSelected() ? SwingUtilities.CENTER : SwingUtilities.RIGHT));
panel.add(myRefresh);
panel.add(myHasOKAction);
@@ -88,6 +90,7 @@ public class ShowSouthPanelTestDialogAction extends AnAction implements DumbAwar
panel.add(myCompact);
panel.add(myErrorText);
panel.add(myMoveErrorTextToButtons);
panel.add(myCenterButtons);
return panel;
}
@@ -100,7 +103,6 @@ public class ShowSouthPanelTestDialogAction extends AnAction implements DumbAwar
private void refreshSouthPanel() {
mySouthPanel.setContent(super.createSouthPanel());
pack();
}
@Nullable