From d709b03160465a17a2f7c57d2d25ed736da806b4 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Tue, 3 Jul 2018 15:24:21 +0300 Subject: [PATCH] Load/Save for old Intellij formatting settings (KT-22252) #KT-22252 In Progress --- .../core/formatter/KotlinCodeStyleSettings.java | 14 ++++++++++++-- .../formatter/KotlinCommonCodeStyleSettings.java | 10 ++++++++-- .../KotlinCommonCodeStyleSettings.java.172 | 12 ++++++++++-- .../idea/formatter/KotlinObsoleteCodeStyle.kt | 2 +- .../kotlin/idea/formatter/KotlinSaveStylePanel.kt | 2 +- 5 files changed, 32 insertions(+), 8 deletions(-) diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/core/formatter/KotlinCodeStyleSettings.java b/idea/formatter/src/org/jetbrains/kotlin/idea/core/formatter/KotlinCodeStyleSettings.java index 33134dbe54d..09b75e5aadc 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/core/formatter/KotlinCodeStyleSettings.java +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/core/formatter/KotlinCodeStyleSettings.java @@ -23,6 +23,7 @@ import com.intellij.openapi.util.WriteExternalException; import com.intellij.psi.codeStyle.*; import org.jdom.Element; import org.jetbrains.annotations.NotNull; +import org.jetbrains.kotlin.idea.formatter.KotlinObsoleteCodeStyle; import org.jetbrains.kotlin.idea.formatter.KotlinStyleGuideCodeStyle; import org.jetbrains.kotlin.idea.util.ReflectionUtil; @@ -105,9 +106,16 @@ public class KotlinCodeStyleSettings extends CustomCodeStyleSettings { @Override public void writeExternal(Element parentElement, @NotNull CustomCodeStyleSettings parentSettings) throws WriteExternalException { - if (KotlinStyleGuideCodeStyle.CODE_STYLE_ID.equals(CODE_STYLE_DEFAULTS)) { + if (CODE_STYLE_DEFAULTS != null) { KotlinCodeStyleSettings defaultKotlinCodeStyle = (KotlinCodeStyleSettings) parentSettings.clone(); - KotlinStyleGuideCodeStyle.Companion.applyToKotlinCustomSettings(defaultKotlinCodeStyle, false); + + if (KotlinStyleGuideCodeStyle.CODE_STYLE_ID.equals(CODE_STYLE_DEFAULTS)) { + KotlinStyleGuideCodeStyle.Companion.applyToKotlinCustomSettings(defaultKotlinCodeStyle, false); + } + else if (KotlinObsoleteCodeStyle.CODE_STYLE_ID.equals(CODE_STYLE_DEFAULTS)) { + KotlinObsoleteCodeStyle.Companion.applyToKotlinCustomSettings(defaultKotlinCodeStyle, false); + } + parentSettings = defaultKotlinCodeStyle; } @@ -124,6 +132,8 @@ public class KotlinCodeStyleSettings extends CustomCodeStyleSettings { KotlinCodeStyleSettings tempSettings = readExternalToTemp(parentElement); if (KotlinStyleGuideCodeStyle.CODE_STYLE_ID.equals(tempSettings.CODE_STYLE_DEFAULTS)) { KotlinStyleGuideCodeStyle.Companion.applyToKotlinCustomSettings(this, true); + } else if (KotlinObsoleteCodeStyle.CODE_STYLE_ID.equals(tempSettings.CODE_STYLE_DEFAULTS)) { + KotlinObsoleteCodeStyle.Companion.applyToKotlinCustomSettings(this, true); } // Actual read diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java index d3f97bc23ac..96905be6c85 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java @@ -61,6 +61,8 @@ public class KotlinCommonCodeStyleSettings extends CommonCodeStyleSettings { if (KotlinStyleGuideCodeStyle.CODE_STYLE_ID.equals(tempDeserialize.CODE_STYLE_DEFAULTS)) { KotlinStyleGuideCodeStyle.Companion.applyToCommonSettings(this, true); + } else if (KotlinObsoleteCodeStyle.CODE_STYLE_ID.equals(tempDeserialize.CODE_STYLE_DEFAULTS)) { + KotlinObsoleteCodeStyle.Companion.applyToCommonSettings(this, true); } readExternalBase(element); @@ -70,8 +72,12 @@ public class KotlinCommonCodeStyleSettings extends CommonCodeStyleSettings { public void writeExternal(Element element) throws WriteExternalException { CommonCodeStyleSettings defaultSettings = getDefaultSettings(); - if (defaultSettings != null && KotlinStyleGuideCodeStyle.CODE_STYLE_ID.equals(CODE_STYLE_DEFAULTS)) { - KotlinStyleGuideCodeStyle.Companion.applyToCommonSettings(defaultSettings, false); + if (defaultSettings != null) { + if (KotlinStyleGuideCodeStyle.CODE_STYLE_ID.equals(CODE_STYLE_DEFAULTS)) { + KotlinStyleGuideCodeStyle.Companion.applyToCommonSettings(defaultSettings, false); + } else if (KotlinObsoleteCodeStyle.CODE_STYLE_ID.equals(CODE_STYLE_DEFAULTS)) { + KotlinObsoleteCodeStyle.Companion.applyToCommonSettings(defaultSettings, false); + } } writeExternalBase(element, defaultSettings); diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java.172 b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java.172 index 177ea06e748..5efe41306f5 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java.172 +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinCommonCodeStyleSettings.java.172 @@ -34,6 +34,8 @@ public class KotlinCommonCodeStyleSettings extends CommonCodeStyleSettings { @ReflectionUtil.SkipInEquals public String CODE_STYLE_DEFAULTS = null; + private final KotlinCommonCodeStyleSettings oldDefaultSettings = null; + private final boolean isTempForDeserialize; public KotlinCommonCodeStyleSettings() { @@ -61,6 +63,8 @@ public class KotlinCommonCodeStyleSettings extends CommonCodeStyleSettings { if (KotlinStyleGuideCodeStyle.CODE_STYLE_ID.equals(tempDeserialize.CODE_STYLE_DEFAULTS)) { KotlinStyleGuideCodeStyle.Companion.applyToCommonSettings(this, true); + } else if (KotlinObsoleteCodeStyle.CODE_STYLE_ID.equals(tempDeserialize.CODE_STYLE_DEFAULTS)) { + KotlinObsoleteCodeStyle.Companion.applyToCommonSettings(this, true); } readExternalBase(element); @@ -70,8 +74,12 @@ public class KotlinCommonCodeStyleSettings extends CommonCodeStyleSettings { public void writeExternal(Element element) throws WriteExternalException { CommonCodeStyleSettings defaultSettings = getDefaultSettings(); - if (defaultSettings != null && KotlinStyleGuideCodeStyle.CODE_STYLE_ID.equals(CODE_STYLE_DEFAULTS)) { - KotlinStyleGuideCodeStyle.Companion.applyToCommonSettings(defaultSettings, false); + if (defaultSettings != null) { + if (KotlinStyleGuideCodeStyle.CODE_STYLE_ID.equals(CODE_STYLE_DEFAULTS)) { + KotlinStyleGuideCodeStyle.Companion.applyToCommonSettings(defaultSettings, false); + } else if (KotlinObsoleteCodeStyle.CODE_STYLE_ID.equals(CODE_STYLE_DEFAULTS)) { + KotlinObsoleteCodeStyle.Companion.applyToCommonSettings(defaultSettings, false); + } } writeExternalBase(element, defaultSettings); diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinObsoleteCodeStyle.kt b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinObsoleteCodeStyle.kt index 2b868bb1265..ac97d3cd87b 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinObsoleteCodeStyle.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/KotlinObsoleteCodeStyle.kt @@ -17,7 +17,7 @@ class KotlinObsoleteCodeStyle : PredefinedCodeStyle(CODE_STYLE_TITLE, KotlinLang } companion object { - const val CODE_STYLE_ID = "KOTLIN_OBSOLETE" + const val CODE_STYLE_ID = "KOTLIN_OLD_DEFAULTS" const val CODE_STYLE_TITLE = "Kotlin obsolete IntelliJ IDEA codestyle" fun apply(settings: CodeStyleSettings) { diff --git a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinSaveStylePanel.kt b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinSaveStylePanel.kt index 33e5a91f475..09c4fe726c2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinSaveStylePanel.kt +++ b/idea/src/org/jetbrains/kotlin/idea/formatter/KotlinSaveStylePanel.kt @@ -34,7 +34,7 @@ class KotlinSaveStylePanel(settings: CodeStyleSettings) : CodeStyleAbstractPanel private val saveDefaultsComboBox = ComboBox() private val saveDefaultsItems = listOf( SaveItem("", null), - SaveItem("Current set of defaults", "KOTLIN_OLD_DEFAULTS"), + SaveItem(KotlinObsoleteCodeStyle.CODE_STYLE_TITLE, KotlinObsoleteCodeStyle.CODE_STYLE_ID), SaveItem(KotlinStyleGuideCodeStyle.CODE_STYLE_TITLE, KotlinStyleGuideCodeStyle.CODE_STYLE_ID) )