diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/JvmStartupActivity.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/JvmStartupActivity.kt new file mode 100644 index 00000000000..90b4d853c12 --- /dev/null +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/JvmStartupActivity.kt @@ -0,0 +1,44 @@ +/* + * Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.idea.configuration + +import com.intellij.ProjectTopics +import com.intellij.ide.highlighter.JavaFileType +import com.intellij.openapi.project.DumbService +import com.intellij.openapi.project.Project +import com.intellij.openapi.roots.ModuleRootEvent +import com.intellij.openapi.roots.ModuleRootListener +import com.intellij.openapi.startup.StartupActivity +import com.intellij.openapi.vfs.VirtualFileListener +import com.intellij.openapi.vfs.VirtualFileManager +import com.intellij.openapi.vfs.VirtualFileMoveEvent +import com.intellij.ui.EditorNotifications + +class JvmStartupActivity : StartupActivity { + override fun runActivity(project: Project) { + val connection = project.messageBus.connect(project) + connection.subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootListener { + override fun rootsChanged(event: ModuleRootEvent) { + EditorNotifications.getInstance(project).updateAllNotifications() + } + }) + + connection.subscribe(DumbService.DUMB_MODE, object : DumbService.DumbModeListener { + override fun enteredDumbMode() { + } + + override fun exitDumbMode() { + EditorNotifications.getInstance(project).updateAllNotifications() + } + }) + + VirtualFileManager.getInstance().addVirtualFileListener(object : VirtualFileListener { + override fun fileMoved(event: VirtualFileMoveEvent) { + if (event.file.fileType == JavaFileType.INSTANCE) EditorNotifications.getInstance(project).updateNotifications(event.file) + } + }, project) + } +} \ No newline at end of file diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/KotlinSetupEnvironmentNotificationProvider.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/KotlinSetupEnvironmentNotificationProvider.kt index de416ef15ae..11072eb0c1f 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/KotlinSetupEnvironmentNotificationProvider.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/configuration/KotlinSetupEnvironmentNotificationProvider.kt @@ -5,18 +5,14 @@ package org.jetbrains.kotlin.idea.configuration -import com.intellij.ProjectTopics import com.intellij.openapi.fileEditor.FileEditor import com.intellij.openapi.module.Module import com.intellij.openapi.module.ModuleUtilCore import com.intellij.openapi.project.Project import com.intellij.openapi.project.ProjectBundle -import com.intellij.openapi.roots.ModuleRootEvent -import com.intellij.openapi.roots.ModuleRootListener import com.intellij.openapi.roots.ModuleRootManager import com.intellij.openapi.roots.ModuleRootModificationUtil import com.intellij.openapi.roots.ui.configuration.ProjectSettingsService -import com.intellij.openapi.startup.StartupActivity import com.intellij.openapi.ui.popup.JBPopupFactory import com.intellij.openapi.ui.popup.ListPopup import com.intellij.openapi.ui.popup.PopupStep @@ -39,18 +35,7 @@ import org.jetbrains.kotlin.platform.jvm.isJvm import org.jetbrains.kotlin.psi.KtFile // Code is partially copied from com.intellij.codeInsight.daemon.impl.SetupSDKNotificationProvider -class KotlinSetupEnvironmentNotificationProvider(private val myProject: Project) : EditorNotifications.Provider(), - StartupActivity { - - override fun runActivity(project: Project) { - val notifications = EditorNotifications.getInstance(project) - project.messageBus.connect(project).subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootListener { - override fun rootsChanged(event: ModuleRootEvent) { - notifications.updateAllNotifications() - } - }) - } - +class KotlinSetupEnvironmentNotificationProvider(private val myProject: Project) : EditorNotifications.Provider() { override fun getKey(): Key = KEY override fun createNotificationPanel(file: VirtualFile, fileEditor: FileEditor): EditorNotificationPanel? { diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/inspections/JavaOutsideModuleDetector.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/inspections/JavaOutsideModuleDetector.kt index fb945f29111..4741af63a28 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/inspections/JavaOutsideModuleDetector.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/inspections/JavaOutsideModuleDetector.kt @@ -9,12 +9,8 @@ import com.intellij.icons.AllIcons import com.intellij.ide.highlighter.JavaFileType import com.intellij.openapi.fileEditor.FileEditor import com.intellij.openapi.project.Project -import com.intellij.openapi.startup.StartupActivity import com.intellij.openapi.util.Key import com.intellij.openapi.vfs.VirtualFile -import com.intellij.openapi.vfs.VirtualFileListener -import com.intellij.openapi.vfs.VirtualFileManager -import com.intellij.openapi.vfs.VirtualFileMoveEvent import com.intellij.ui.EditorNotificationPanel import com.intellij.ui.EditorNotifications import org.jetbrains.kotlin.idea.facet.KotlinFacet @@ -22,17 +18,7 @@ import org.jetbrains.kotlin.idea.framework.isGradleModule import org.jetbrains.kotlin.idea.util.findModule import org.jetbrains.kotlin.idea.util.sourceRoots -class JavaOutsideModuleDetector(private val project: Project) : EditorNotifications.Provider(), StartupActivity { - - override fun runActivity(project: Project) { - val notifications = EditorNotifications.getInstance(project) - VirtualFileManager.getInstance().addVirtualFileListener(object : VirtualFileListener { - override fun fileMoved(event: VirtualFileMoveEvent) { - if (event.file.fileType == JavaFileType.INSTANCE) notifications.updateNotifications(event.file) - } - }, project) - } - +class JavaOutsideModuleDetector(private val project: Project) : EditorNotifications.Provider() { override fun getKey(): Key = KEY override fun createNotificationPanel(file: VirtualFile, fileEditor: FileEditor): EditorNotificationPanel? { diff --git a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/UnsupportedAbiVersionNotificationPanelProvider.kt b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/UnsupportedAbiVersionNotificationPanelProvider.kt index c96677de83a..fd68039dc34 100644 --- a/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/UnsupportedAbiVersionNotificationPanelProvider.kt +++ b/idea/idea-jvm/src/org/jetbrains/kotlin/idea/versions/UnsupportedAbiVersionNotificationPanelProvider.kt @@ -5,7 +5,6 @@ package org.jetbrains.kotlin.idea.versions -import com.intellij.ProjectTopics import com.intellij.icons.AllIcons import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.compiler.CompilerManager @@ -18,10 +17,7 @@ import com.intellij.openapi.progress.ProcessCanceledException import com.intellij.openapi.project.DumbService import com.intellij.openapi.project.IndexNotReadyException import com.intellij.openapi.project.Project -import com.intellij.openapi.roots.ModuleRootEvent -import com.intellij.openapi.roots.ModuleRootListener import com.intellij.openapi.roots.libraries.Library -import com.intellij.openapi.startup.StartupActivity import com.intellij.openapi.ui.popup.JBPopupFactory import com.intellij.openapi.ui.popup.PopupStep import com.intellij.openapi.ui.popup.util.BaseListPopupStep @@ -50,24 +46,7 @@ import javax.swing.JLabel import javax.swing.event.HyperlinkEvent class UnsupportedAbiVersionNotificationPanelProvider(private val project: Project) : - EditorNotifications.Provider(), StartupActivity { - - override fun runActivity(project: Project) { - val connection = project.messageBus.connect(project) - connection.subscribe(ProjectTopics.PROJECT_ROOTS, object : ModuleRootListener { - override fun rootsChanged(event: ModuleRootEvent) { - updateNotifications() - } - }) - connection.subscribe(DumbService.DUMB_MODE, object : DumbService.DumbModeListener { - override fun enteredDumbMode() { - } - - override fun exitDumbMode() { - updateNotifications() - } - }) - } + EditorNotifications.Provider() { private fun doCreate(module: Module, badVersionedRoots: Collection>): EditorNotificationPanel { val answer = ErrorNotificationPanel() diff --git a/idea/resources/META-INF/jvm.xml b/idea/resources/META-INF/jvm.xml index 5ced54c1ebe..7e9c96b9efc 100644 --- a/idea/resources/META-INF/jvm.xml +++ b/idea/resources/META-INF/jvm.xml @@ -128,12 +128,11 @@ - + - @@ -145,7 +144,6 @@ implementationClass="org.jetbrains.kotlin.idea.debugger.evaluate.surroundWith.KotlinDebuggerExpressionSurroundDescriptor"/> - diff --git a/idea/resources/META-INF/jvm.xml.182 b/idea/resources/META-INF/jvm.xml.182 index f6afd313c58..85ecdbf2402 100644 --- a/idea/resources/META-INF/jvm.xml.182 +++ b/idea/resources/META-INF/jvm.xml.182 @@ -127,12 +127,11 @@ - + - @@ -144,7 +143,6 @@ implementationClass="org.jetbrains.kotlin.idea.debugger.evaluate.surroundWith.KotlinDebuggerExpressionSurroundDescriptor"/> - diff --git a/idea/resources/META-INF/jvm.xml.183 b/idea/resources/META-INF/jvm.xml.183 index 1f2adbf4c51..8811353c26b 100644 --- a/idea/resources/META-INF/jvm.xml.183 +++ b/idea/resources/META-INF/jvm.xml.183 @@ -128,12 +128,11 @@ - + - @@ -145,7 +144,6 @@ implementationClass="org.jetbrains.kotlin.idea.debugger.evaluate.surroundWith.KotlinDebuggerExpressionSurroundDescriptor"/> -