From 95bc0813f8186ba252fe05c0768fdb045c740aa7 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Fri, 10 Mar 2017 19:24:00 +0100 Subject: [PATCH] Don't show "Configure Kotlin" notification with an empty list of configurators (context: KT-16070) --- .../configuration/ConfigureKotlinNotificationManager.kt | 5 ++++- .../ui/notifications/ConfigureKotlinNotification.kt | 9 ++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinNotificationManager.kt b/idea/src/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinNotificationManager.kt index bf1a2646cb0..8a8ac5bdd3e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinNotificationManager.kt +++ b/idea/src/org/jetbrains/kotlin/idea/configuration/ConfigureKotlinNotificationManager.kt @@ -24,7 +24,10 @@ import org.jetbrains.kotlin.idea.configuration.ui.notifications.ConfigureKotlinN object ConfigureKotlinNotificationManager: KotlinSingleNotificationManager { fun notify(project: Project, excludeModules: List = emptyList()) { - notify(project, ConfigureKotlinNotification(project, excludeModules)) + val notificationString = ConfigureKotlinNotification.getNotificationString(project, excludeModules) + if (notificationString != null) { + notify(project, ConfigureKotlinNotification(project, excludeModules, notificationString)) + } } } diff --git a/idea/src/org/jetbrains/kotlin/idea/configuration/ui/notifications/ConfigureKotlinNotification.kt b/idea/src/org/jetbrains/kotlin/idea/configuration/ui/notifications/ConfigureKotlinNotification.kt index 9f41829227a..8688abbdc92 100644 --- a/idea/src/org/jetbrains/kotlin/idea/configuration/ui/notifications/ConfigureKotlinNotification.kt +++ b/idea/src/org/jetbrains/kotlin/idea/configuration/ui/notifications/ConfigureKotlinNotification.kt @@ -42,9 +42,6 @@ class ConfigureKotlinNotification( } }) { - constructor(project: Project, excludeModules: List) - : this(project, excludeModules, getNotificationString(project, excludeModules)) - override fun equals(o: Any?): Boolean { if (this === o) return true if (o !is ConfigureKotlinNotification) return false @@ -59,13 +56,15 @@ class ConfigureKotlinNotification( } companion object { - fun getNotificationString(project: Project, excludeModules: Collection): String { + fun getNotificationString(project: Project, excludeModules: Collection): String? { val modules = getNonConfiguredModulesWithKotlinFiles(project, excludeModules) val isOnlyOneModule = modules.size == 1 val modulesString = if (isOnlyOneModule) "'${modules.first().name}' module" else "modules" - val links = getAbleToRunConfigurators(project).joinToString(separator = "
") { + val ableToRunConfigurators = getAbleToRunConfigurators(project) + if (ableToRunConfigurators.isEmpty()) return null + val links = ableToRunConfigurators.joinToString(separator = "
") { configurator -> getLink(configurator, isOnlyOneModule) }