From 4befca95d6f904468f4f0c44a049b74483499a10 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Thu, 15 Aug 2019 19:29:12 +0300 Subject: [PATCH] Add an ability to switch between old and new J2K via settings window Before that it was possible to do only via registry #KT-33371 fixed --- ...anceJavaToKotlinCopyPasteConversionTest.kt | 3 +- idea/resources/META-INF/extensions/ide.xml | 4 -- .../resources/META-INF/extensions/ide.xml.183 | 4 -- .../META-INF/extensions/ide.xml.as33 | 4 -- .../META-INF/extensions/ide.xml.as34 | 4 -- idea/resources/META-INF/plugin-common.xml | 2 +- .../actions/ConfigurePluginUpdatesAction.kt | 4 +- .../KotlinLanguageConfiguration.kt | 13 +++-- ...m => KotlinLanguageConfigurationForm.form} | 47 ++++++++++++++----- ...a => KotlinLanguageConfigurationForm.java} | 5 +- .../copy/AbstractJ2kCopyPasteTest.kt | 3 +- .../kotlin/j2k/J2KConverterExtension.kt | 12 +++-- 12 files changed, 62 insertions(+), 43 deletions(-) rename idea/src/org/jetbrains/kotlin/idea/configuration/ui/{ConfigurePluginUpdatesForm.form => KotlinLanguageConfigurationForm.form} (76%) rename idea/src/org/jetbrains/kotlin/idea/configuration/ui/{ConfigurePluginUpdatesForm.java => KotlinLanguageConfigurationForm.java} (96%) diff --git a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceJavaToKotlinCopyPasteConversionTest.kt b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceJavaToKotlinCopyPasteConversionTest.kt index ca65a11423e..fc1fef9e991 100644 --- a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceJavaToKotlinCopyPasteConversionTest.kt +++ b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceJavaToKotlinCopyPasteConversionTest.kt @@ -13,6 +13,7 @@ import com.intellij.psi.PsiDocumentManager import org.jetbrains.kotlin.idea.KotlinFileType import org.jetbrains.kotlin.idea.conversion.copy.AbstractJavaToKotlinCopyPasteConversionTest import org.jetbrains.kotlin.idea.conversion.copy.ConvertJavaCopyPasteProcessor +import org.jetbrains.kotlin.j2k.J2kConverterExtension import org.jetbrains.kotlin.test.InTextDirectivesUtils import org.jetbrains.kotlin.test.KotlinTestUtils import java.io.File @@ -35,7 +36,7 @@ abstract class AbstractPerformanceJavaToKotlinCopyPasteConversionTest(private va override fun setUp() { super.setUp() - Registry.get("kotlin.use.new.j2k").setValue(newJ2K) + J2kConverterExtension.isNewJ2k = newJ2K val index = j2kIndex() if (!warmedUp[index]) { diff --git a/idea/resources/META-INF/extensions/ide.xml b/idea/resources/META-INF/extensions/ide.xml index 4b4a33a41df..d2eb2279f02 100644 --- a/idea/resources/META-INF/extensions/ide.xml +++ b/idea/resources/META-INF/extensions/ide.xml @@ -92,10 +92,6 @@ - - - - + instance="org.jetbrains.kotlin.idea.configuration.KotlinLanguageConfiguration"/> -
- + + @@ -8,14 +8,9 @@ - - - - - - + @@ -30,7 +25,7 @@ - + @@ -63,7 +58,7 @@ - + @@ -79,7 +74,7 @@ - + @@ -109,7 +104,7 @@ - + @@ -133,7 +128,7 @@ - + @@ -155,6 +150,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/ui/ConfigurePluginUpdatesForm.java b/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.java similarity index 96% rename from idea/src/org/jetbrains/kotlin/idea/configuration/ui/ConfigurePluginUpdatesForm.java rename to idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.java index af74eacf202..08ecf2136d3 100644 --- a/idea/src/org/jetbrains/kotlin/idea/configuration/ui/ConfigurePluginUpdatesForm.java +++ b/idea/src/org/jetbrains/kotlin/idea/configuration/ui/KotlinLanguageConfigurationForm.java @@ -14,7 +14,7 @@ import org.jetbrains.kotlin.idea.util.VersioningKt; import javax.swing.*; import java.util.List; -public class ConfigurePluginUpdatesForm { +public class KotlinLanguageConfigurationForm { public JComboBox channelCombo; public JButton reCheckButton; public JPanel mainPanel; @@ -27,8 +27,9 @@ public class ConfigurePluginUpdatesForm { private JTextPane currentVersion; private JPanel bundledCompilerVersionPanel; private JTextPane compilerVersion; + public JCheckBox useNewJ2kCheckBox; - public ConfigurePluginUpdatesForm() { + public KotlinLanguageConfigurationForm() { showVerifierDisabledStatus(); String pluginVersion = KotlinPluginUtil.getPluginVersion(); diff --git a/idea/tests/org/jetbrains/kotlin/idea/conversion/copy/AbstractJ2kCopyPasteTest.kt b/idea/tests/org/jetbrains/kotlin/idea/conversion/copy/AbstractJ2kCopyPasteTest.kt index 4689afd88c7..43772784285 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/conversion/copy/AbstractJ2kCopyPasteTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/conversion/copy/AbstractJ2kCopyPasteTest.kt @@ -7,12 +7,13 @@ package org.jetbrains.kotlin.idea.conversion.copy import com.intellij.openapi.util.registry.Registry import org.jetbrains.kotlin.idea.AbstractCopyPasteTest +import org.jetbrains.kotlin.j2k.J2kConverterExtension abstract class AbstractJ2kCopyPasteTest : AbstractCopyPasteTest() { protected open fun isNewJ2K(): Boolean = false override fun setUp() { super.setUp() - Registry.get("kotlin.use.new.j2k").setValue(isNewJ2K()) + J2kConverterExtension.isNewJ2k = isNewJ2K() } } \ No newline at end of file diff --git a/j2k/src/org/jetbrains/kotlin/j2k/J2KConverterExtension.kt b/j2k/src/org/jetbrains/kotlin/j2k/J2KConverterExtension.kt index 92870b8dfbc..ca8258714cf 100644 --- a/j2k/src/org/jetbrains/kotlin/j2k/J2KConverterExtension.kt +++ b/j2k/src/org/jetbrains/kotlin/j2k/J2KConverterExtension.kt @@ -1,11 +1,11 @@ package org.jetbrains.kotlin.j2k +import com.intellij.ide.util.PropertiesComponent import com.intellij.openapi.extensions.AbstractExtensionPointBean import com.intellij.openapi.extensions.ExtensionPointName import com.intellij.openapi.module.Module import com.intellij.openapi.progress.ProgressIndicator import com.intellij.openapi.project.Project -import com.intellij.openapi.util.registry.Registry import com.intellij.psi.PsiJavaFile abstract class J2kConverterExtension : AbstractExtensionPointBean() { @@ -30,8 +30,14 @@ abstract class J2kConverterExtension : AbstractExtensionPointBean() { ): WithProgressProcessor companion object { - val isNewJ2k - get() = Registry.`is`("kotlin.use.new.j2k", true) + private const val newJ2kByDefault = true + private const val optionName = "kotlin.use.new.j2k" + + var isNewJ2k + get() = PropertiesComponent.getInstance().getBoolean(optionName, newJ2kByDefault) + set(value) { + PropertiesComponent.getInstance().setValue(optionName, value, newJ2kByDefault) + } val EP_NAME = ExtensionPointName.create("org.jetbrains.kotlin.j2kConverterExtension")