From 3d6aa79f4597982a57bc44a68d0ae3c3c9c13bd5 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 23 Jan 2020 13:16:15 +0300 Subject: [PATCH] Wizard: allow enabling new wizard in UI --- .../wizard/NewProjectWizardModuleBuilder.kt | 1 + .../wizard/NewProjectWizardService.kt | 13 ------------- idea/resources/META-INF/extensions/ide.xml | 4 ---- .../KotlinLanguageConfiguration.kt | 4 ++++ .../ui/KotlinLanguageConfigurationForm.form | 10 +++++++++- .../ui/KotlinLanguageConfigurationForm.java | 1 + .../projectWizard/NewProjectWizardService.kt | 19 +++++++++++++++++++ 7 files changed, 34 insertions(+), 18 deletions(-) delete mode 100644 idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/NewProjectWizardService.kt create mode 100644 idea/src/org/jetbrains/kotlin/idea/projectWizard/NewProjectWizardService.kt 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