From a06b7f402bb2ebb47f360d67e1f614641bed0b67 Mon Sep 17 00:00:00 2001 From: "Roman.Ivanov" Date: Tue, 18 Jun 2019 15:11:16 +0700 Subject: [PATCH] InlayHints: save old parameter hints and isModified working correctly GitOrigin-RevId: 9b30979b4a3e5b75313a90c96983d2134e7ff730 --- .../hints/config/SingleLanguageInlayHintsSettingsPanel.kt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hints/config/SingleLanguageInlayHintsSettingsPanel.kt b/platform/lang-impl/src/com/intellij/codeInsight/hints/config/SingleLanguageInlayHintsSettingsPanel.kt index 4e17cc3918fc..dfa34d518a30 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hints/config/SingleLanguageInlayHintsSettingsPanel.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/hints/config/SingleLanguageInlayHintsSettingsPanel.kt @@ -48,8 +48,8 @@ internal class SingleLanguageInlayHintsSettingsPanel( } } - private val parameterHintsPanel by lazy { - val options = InlayParameterHintsExtension.forLanguage(language)?.supportedOptions ?: emptyList() + private val parameterHintsPanel = run { + val options = InlayParameterHintsExtension.forLanguage(language)?.supportedOptions ?: return@run null ParameterHintsSettingsPanel(language, options, true) } @@ -179,6 +179,7 @@ internal class SingleLanguageInlayHintsSettingsPanel( fun isModified(): Boolean { if (providerTypes.any { it.isEnabled() != settings.hintsEnabled(it.key, language) }) return true + if (parameterHintsPanel?.isModified() == true) return true return settingsWrappers.any { it.isModified() } } @@ -189,6 +190,7 @@ internal class SingleLanguageInlayHintsSettingsPanel( for (providerType in providerTypes) { settings.changeHintTypeStatus(providerType.key, language, providerType.isEnabled()) } + parameterHintsPanel?.saveOptions() } private fun initProviderList(typeSettingsPane: JBScrollPane) {