From 209c66ca1bb8261c9779bf167de97ac2a3636019 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Mon, 29 Jan 2018 17:58:09 +0300 Subject: [PATCH] Set better defaults on Imports tab in Code Style -> Kotlin (KT-22575) "Top level symbols" and "Java Statics and Enum Members" are always returned to 2 after saving to not-number option #KT-22575 Fixed --- .../idea/core/formatter/KotlinCodeStyleSettings.java | 1 + .../kotlin/idea/formatter/ImportSettingsPanel.kt | 10 ++++++---- 2 files changed, 7 insertions(+), 4 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 5226a490031..224a54dd6bc 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.util.ReflectionUtil; import org.jetbrains.annotations.NotNull; public class KotlinCodeStyleSettings extends CustomCodeStyleSettings { + public static final KotlinCodeStyleSettings DEFAULT = new KotlinCodeStyleSettings(new CodeStyleSettings()); public final PackageEntryTable PACKAGES_TO_USE_STAR_IMPORTS = new PackageEntryTable(); public boolean SPACE_AROUND_RANGE = false; diff --git a/idea/src/org/jetbrains/kotlin/idea/formatter/ImportSettingsPanel.kt b/idea/src/org/jetbrains/kotlin/idea/formatter/ImportSettingsPanel.kt index 243f7e956d8..1b38dd4ef93 100644 --- a/idea/src/org/jetbrains/kotlin/idea/formatter/ImportSettingsPanel.kt +++ b/idea/src/org/jetbrains/kotlin/idea/formatter/ImportSettingsPanel.kt @@ -69,8 +69,10 @@ class ImportSettingsPanel(private val commonSettings: CodeStyleSettings) : JPane } private val starImportPackageTable = ImportLayoutPanel.createTableForPackageEntries(starImportPackageEntryTable, dummyImportLayoutPanel) - private val nameCountToUseStarImportSelector = NameCountToUseStarImportSelector("Top-level Symbols") - private val nameCountToUseStarImportForMembersSelector = NameCountToUseStarImportSelector("Java Statics and Enum Members") + private val nameCountToUseStarImportSelector = NameCountToUseStarImportSelector( + "Top-level Symbols", KotlinCodeStyleSettings.DEFAULT.NAME_COUNT_TO_USE_STAR_IMPORT) + private val nameCountToUseStarImportForMembersSelector = NameCountToUseStarImportSelector( + "Java Statics and Enum Members", KotlinCodeStyleSettings.DEFAULT.NAME_COUNT_TO_USE_STAR_IMPORT_FOR_MEMBERS) init { layout = BorderLayout() @@ -160,11 +162,11 @@ class ImportSettingsPanel(private val commonSettings: CodeStyleSettings) : JPane } } - private class NameCountToUseStarImportSelector(title: String) : OptionGroup(title) { + private class NameCountToUseStarImportSelector(title: String, default: Int) : OptionGroup(title) { private val rbUseSingleImports = JRadioButton("Use single name import") private val rbUseStarImports = JRadioButton("Use import with '*'") private val rbUseStarImportsIfAtLeast = JRadioButton("Use import with '*' when at least ") - private val starImportLimitModel = SpinnerNumberModel(2, 2, 100, 1) + private val starImportLimitModel = SpinnerNumberModel(default, 2, 100, 1) private val starImportLimitField = JSpinner(starImportLimitModel) init {