diff --git a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/NewProjectWizardModuleBuilder.kt b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/NewProjectWizardModuleBuilder.kt
index 8d53582c157..dfbc1abd6ca 100644
--- a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/NewProjectWizardModuleBuilder.kt
+++ b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/NewProjectWizardModuleBuilder.kt
@@ -14,6 +14,7 @@ import com.intellij.openapi.ui.Messages
import com.intellij.util.SystemProperties
import org.jetbrains.kotlin.idea.framework.KotlinModuleSettingStep
import org.jetbrains.kotlin.idea.framework.KotlinTemplatesFactory
+import org.jetbrains.kotlin.idea.projectWizard.NewProjectWizardService
import org.jetbrains.kotlin.idea.util.application.runWriteAction
import org.jetbrains.kotlin.platform.jvm.JvmPlatforms
import org.jetbrains.kotlin.tools.projectWizard.core.Failure
diff --git a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/NewProjectWizardService.kt b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/NewProjectWizardService.kt
deleted file mode 100644
index c5035add381..00000000000
--- a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/NewProjectWizardService.kt
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
- * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
- */
-
-package org.jetbrains.kotlin.tools.projectWizard.wizard
-
-import com.intellij.openapi.util.registry.Registry
-
-object NewProjectWizardService {
- val isEnabled: Boolean
- get() = Registry.`is`("kotlin.experimental.project.wizard", false)
-}
\ No newline at end of file
diff --git a/idea/resources/META-INF/extensions/ide.xml b/idea/resources/META-INF/extensions/ide.xml
index 3a3de8c1162..e153a6b4c35 100644
--- a/idea/resources/META-INF/extensions/ide.xml
+++ b/idea/resources/META-INF/extensions/ide.xml
@@ -129,10 +129,6 @@
restartRequired="false"/>
-
diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinLanguageConfiguration.kt b/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinLanguageConfiguration.kt
index 207411e4c31..7bb78bf2e69 100644
--- a/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinLanguageConfiguration.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/configuration/KotlinLanguageConfiguration.kt
@@ -13,6 +13,7 @@ import org.jetbrains.kotlin.idea.KotlinPluginUpdater
import org.jetbrains.kotlin.idea.KotlinPluginUtil
import org.jetbrains.kotlin.idea.PluginUpdateStatus
import org.jetbrains.kotlin.idea.configuration.ui.KotlinLanguageConfigurationForm
+import org.jetbrains.kotlin.idea.projectWizard.NewProjectWizardService
import org.jetbrains.kotlin.j2k.J2kConverterExtension
import javax.swing.JComponent
@@ -65,11 +66,13 @@ class KotlinLanguageConfiguration : SearchableConfigurable, Configurable.NoScrol
override fun isModified() =
form.useNewJ2kCheckBox.isSelected != J2kConverterExtension.isNewJ2k
+ || form.useNewProjectWizardCheckBox.isSelected != NewProjectWizardService.isEnabled
override fun apply() {
// Selected channel is now saved automatically
J2kConverterExtension.isNewJ2k = form.useNewJ2kCheckBox.isSelected
+ NewProjectWizardService.isEnabled = form.useNewProjectWizardCheckBox.isSelected
}
private fun setInstalledVersion(installedVersion: String?, installingStatus: String?) {
@@ -79,6 +82,7 @@ class KotlinLanguageConfiguration : SearchableConfigurable, Configurable.NoScrol
override fun createComponent(): JComponent? {
form.useNewJ2kCheckBox.isSelected = J2kConverterExtension.isNewJ2k
+ form.useNewProjectWizardCheckBox.isSelected = NewProjectWizardService.isEnabled
form.updateCheckProgressIcon.suspend()
form.updateCheckProgressIcon.setPaintPassiveIcon(false)
diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.form b/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.form
index 035a4926244..71e522348cb 100644
--- a/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.form
+++ b/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.form
@@ -150,7 +150,7 @@
-
+
@@ -169,6 +169,14 @@
+
+
+
+
+
+
+
+
diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.java b/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.java
index 08ecf2136d3..731412f0c81 100644
--- a/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.java
+++ b/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.java
@@ -28,6 +28,7 @@ public class KotlinLanguageConfigurationForm {
private JPanel bundledCompilerVersionPanel;
private JTextPane compilerVersion;
public JCheckBox useNewJ2kCheckBox;
+ public JCheckBox useNewProjectWizardCheckBox;
public KotlinLanguageConfigurationForm() {
showVerifierDisabledStatus();
diff --git a/idea/src/org/jetbrains/kotlin/idea/projectWizard/NewProjectWizardService.kt b/idea/src/org/jetbrains/kotlin/idea/projectWizard/NewProjectWizardService.kt
new file mode 100644
index 00000000000..51aa092915d
--- /dev/null
+++ b/idea/src/org/jetbrains/kotlin/idea/projectWizard/NewProjectWizardService.kt
@@ -0,0 +1,19 @@
+/*
+ * Copyright 2010-2020 JetBrains s.r.o. and Kotlin Programming Language contributors.
+ * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
+ */
+
+package org.jetbrains.kotlin.idea.projectWizard
+
+import com.intellij.ide.util.PropertiesComponent
+
+object NewProjectWizardService {
+ private const val optionName = "kotlin.experimental.project.wizard"
+ private const val enabledByDefault = false
+
+ var isEnabled
+ get() = PropertiesComponent.getInstance().getBoolean(optionName, enabledByDefault)
+ set(value) {
+ PropertiesComponent.getInstance().setValue(optionName, value, enabledByDefault)
+ }
+}
\ No newline at end of file