diff options
Diffstat (limited to 'platform/core-impl/src/com/intellij/openapi/application')
3 files changed, 24 insertions, 0 deletions
diff --git a/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationInfoEx.java b/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationInfoEx.java index 4282eb20ff26..d1251c9c9ad0 100644 --- a/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationInfoEx.java +++ b/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationInfoEx.java @@ -16,6 +16,7 @@ package com.intellij.openapi.application.ex; import com.intellij.openapi.application.ApplicationInfo; +import org.jetbrains.annotations.Nullable; import java.awt.*; import java.util.Calendar; @@ -117,4 +118,7 @@ public abstract class ApplicationInfoEx extends ApplicationInfo { /** @deprecated to remove in IDEA 14 */ @SuppressWarnings("UnusedDeclaration") public abstract String getWelcomeScreenDeveloperSloganUrl(); + + @Nullable + public abstract String getCustomizeIDEWizardStepsProvider(); } diff --git a/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationUtil.java b/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationUtil.java index 663cd6f9e0b3..1d7de90e5f61 100644 --- a/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationUtil.java +++ b/platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationUtil.java @@ -35,6 +35,12 @@ public class ApplicationUtil { throw new CannotRunReadActionException(); } + public static void tryRunReadAction(@NotNull final Runnable computable) throws CannotRunReadActionException { + if (!((ApplicationEx)ApplicationManager.getApplication()).tryRunReadAction(computable)) { + throw new CannotRunReadActionException(); + } + } + public static class CannotRunReadActionException extends RuntimeException{ @Override public Throwable fillInStackTrace() { diff --git a/platform/core-impl/src/com/intellij/openapi/application/impl/ApplicationInfoImpl.java b/platform/core-impl/src/com/intellij/openapi/application/impl/ApplicationInfoImpl.java index 62fbfa502c79..13d580ef0834 100644 --- a/platform/core-impl/src/com/intellij/openapi/application/impl/ApplicationInfoImpl.java +++ b/platform/core-impl/src/com/intellij/openapi/application/impl/ApplicationInfoImpl.java @@ -75,6 +75,7 @@ public class ApplicationInfoImpl extends ApplicationInfoEx implements JDOMExtern private boolean myShowLicensee = true; private String myWelcomeScreenCaptionUrl; private String myWelcomeScreenDeveloperSloganUrl; + private String myCustomizeIDEWizardStepsProvider; private UpdateUrls myUpdateUrls; private String myDocumentationUrl; private String mySupportUrl; @@ -171,6 +172,8 @@ public class ApplicationInfoImpl extends ApplicationInfoEx implements JDOMExtern @NonNls private static final String ELEMENT_THIRD_PARTY = "third-party"; + @NonNls private static final String CUSTOMIZE_IDE_WIZARD_STEPS = "customize-ide-wizard"; + @NonNls private static final String STEPS_PROVIDER = "provider"; public void initComponent() { } @@ -311,6 +314,12 @@ public class ApplicationInfoImpl extends ApplicationInfoEx implements JDOMExtern return myWelcomeScreenLogoUrl; } + @Nullable + @Override + public String getCustomizeIDEWizardStepsProvider() { + return myCustomizeIDEWizardStepsProvider; + } + @Override public String getEditorBackgroundImageUrl() { return myEditorBackgroundImageUrl; @@ -598,6 +607,11 @@ public class ApplicationInfoImpl extends ApplicationInfoEx implements JDOMExtern myWelcomeScreenDeveloperSloganUrl = welcomeScreen.getAttributeValue(SLOGAN_URL_ATTR); } + Element wizardSteps = parentNode.getChild(CUSTOMIZE_IDE_WIZARD_STEPS); + if (wizardSteps != null) { + myCustomizeIDEWizardStepsProvider = wizardSteps.getAttributeValue(STEPS_PROVIDER); + } + Element editor = parentNode.getChild(ELEMENT_EDITOR); if (editor != null) { myEditorBackgroundImageUrl = editor.getAttributeValue(BACKGROUND_URL_ATTR); |