From 545abcc667a4536ee0968b825b99b490c0110199 Mon Sep 17 00:00:00 2001 From: Ilya Kirillov Date: Mon, 23 Mar 2020 00:22:10 +0300 Subject: [PATCH] Wizard: do not allow to modify common project name --- .../wizard/ui/components/TextFieldComponent.kt | 3 ++- .../wizard/ui/secondStep/ModuleSettingsComponent.kt | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/components/TextFieldComponent.kt b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/components/TextFieldComponent.kt index e138c747976..1d424d8fbe8 100644 --- a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/components/TextFieldComponent.kt +++ b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/components/TextFieldComponent.kt @@ -3,6 +3,7 @@ package org.jetbrains.kotlin.tools.projectWizard.wizard.ui.components import com.intellij.ui.components.JBTextField import com.intellij.util.ui.JBUI import com.intellij.util.ui.UIUtil +import org.jetbrains.annotations.Nls import org.jetbrains.kotlin.tools.projectWizard.core.Context import org.jetbrains.kotlin.tools.projectWizard.core.entity.SettingValidator import org.jetbrains.kotlin.tools.projectWizard.wizard.ui.textField @@ -28,7 +29,7 @@ class TextFieldComponent( uiComponent.text = newValue } - fun disable(message: String) { + fun disable(@Nls message: String) { cachedValueWhenDisabled = getUiValue() uiComponent.isEditable = false uiComponent.foreground = UIUtil.getLabelFontColor(UIUtil.FontColor.BRIGHTER) diff --git a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/ModuleSettingsComponent.kt b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/ModuleSettingsComponent.kt index 958f997d65c..f0ccc3c523d 100644 --- a/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/ModuleSettingsComponent.kt +++ b/idea/idea-new-project-wizard/src/org/jetbrains/kotlin/tools/projectWizard/wizard/ui/secondStep/ModuleSettingsComponent.kt @@ -8,6 +8,7 @@ import org.jetbrains.kotlin.idea.projectWizard.UiEditorUsageStats import org.jetbrains.kotlin.tools.projectWizard.core.Context import org.jetbrains.kotlin.tools.projectWizard.core.Reader import org.jetbrains.kotlin.tools.projectWizard.core.entity.StringValidators +import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.CommonTargetConfigurator import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.getConfiguratorSettings import org.jetbrains.kotlin.tools.projectWizard.moduleConfigurators.moduleType import org.jetbrains.kotlin.tools.projectWizard.plugins.kotlin.KotlinPlugin @@ -87,8 +88,14 @@ private class ModuleNameComponent(context: Context, private val module: Module) override fun onInit() { super.onInit() val isSingleRootMode = read { KotlinPlugin::modules.settingValue }.size == 1 - if (isSingleRootMode && module.isRootModule) { - textField.disable("[The same as the project name]") + when { + isSingleRootMode && module.isRootModule -> { + textField.disable("[The same as the project name]") + } + module.configurator == CommonTargetConfigurator -> { + //String concatination to not to forget localisation for localisation + textField.disable("common" + " " + "[Can not be modified]") + } } }