summaryrefslogtreecommitdiff
path: root/platform/core-impl/src/com/intellij/openapi/application
diff options
context:
space:
mode:
Diffstat (limited to 'platform/core-impl/src/com/intellij/openapi/application')
-rw-r--r--platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationInfoEx.java4
-rw-r--r--platform/core-impl/src/com/intellij/openapi/application/ex/ApplicationUtil.java6
-rw-r--r--platform/core-impl/src/com/intellij/openapi/application/impl/ApplicationInfoImpl.java14
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);