Don't show "Choose Configurator" popup for one available configurator

#KT-17287 Fixed
This commit is contained in:
Dmitry Jemerov
2017-04-06 17:43:00 +02:00
parent 02af278766
commit 29eafcbc97
@@ -112,12 +112,18 @@ class KotlinSetupEnvironmentNotificationProvider(
val configurators = getAbleToRunConfigurators(module).toList() val configurators = getAbleToRunConfigurators(module).toList()
if (!configurators.isEmpty()) { if (!configurators.isEmpty()) {
createComponentActionLabel("Configure") { label -> createComponentActionLabel("Configure") { label ->
val singleConfigurator = configurators.singleOrNull()
if (singleConfigurator != null) {
singleConfigurator.configure(module.project, emptyList())
}
else {
val configuratorsPopup = createConfiguratorsPopup(module.project, configurators) val configuratorsPopup = createConfiguratorsPopup(module.project, configurators)
configuratorsPopup.showUnderneathOf(label) configuratorsPopup.showUnderneathOf(label)
} }
} }
} }
} }
}
fun createConfiguratorsPopup(project: Project, configurators: List<KotlinProjectConfigurator>): ListPopup { fun createConfiguratorsPopup(project: Project, configurators: List<KotlinProjectConfigurator>): ListPopup {
val step = object : BaseListPopupStep<KotlinProjectConfigurator>("Choose Configurator", configurators) { val step = object : BaseListPopupStep<KotlinProjectConfigurator>("Choose Configurator", configurators) {