diff --git a/platform/platform-impl/src/com/intellij/ide/customize/AbstractCustomizeWizardStep.java b/platform/platform-impl/src/com/intellij/ide/customize/AbstractCustomizeWizardStep.java index 5b57ca8d4787..3df11563b30a 100644 --- a/platform/platform-impl/src/com/intellij/ide/customize/AbstractCustomizeWizardStep.java +++ b/platform/platform-impl/src/com/intellij/ide/customize/AbstractCustomizeWizardStep.java @@ -35,7 +35,8 @@ public abstract class AbstractCustomizeWizardStep extends JPanel { protected abstract String getHTMLFooter(); - private static Color getSelectionBackground() { + @NotNull + protected static Color getSelectionBackground() { return ColorUtil.mix(UIUtil.getListSelectionBackground(), UIUtil.getLabelBackground(), .75); } @@ -75,4 +76,8 @@ public abstract class AbstractCustomizeWizardStep extends JPanel { public void beforeShown(boolean forward) { } + + public boolean beforeOkAction() { + return true; + } } diff --git a/platform/platform-impl/src/com/intellij/ide/customize/CustomizeIDEWizardDialog.java b/platform/platform-impl/src/com/intellij/ide/customize/CustomizeIDEWizardDialog.java index 986c533bcb75..47eecc092162 100644 --- a/platform/platform-impl/src/com/intellij/ide/customize/CustomizeIDEWizardDialog.java +++ b/platform/platform-impl/src/com/intellij/ide/customize/CustomizeIDEWizardDialog.java @@ -141,6 +141,9 @@ public class CustomizeIDEWizardDialog extends DialogWrapper implements ActionLis @Override protected void doOKAction() { + for (AbstractCustomizeWizardStep step : mySteps) { + if (!step.beforeOkAction()) return; + } try { PluginManager.saveDisabledPlugins(PluginGroups.getInstance().getDisabledPluginIds(), false); }