diff options
Diffstat (limited to 'platform/lang-impl/src/com/intellij/codeInsight/codeVision/ui/model/ProjectCodeVisionModel.kt')
-rw-r--r-- | platform/lang-impl/src/com/intellij/codeInsight/codeVision/ui/model/ProjectCodeVisionModel.kt | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/platform/lang-impl/src/com/intellij/codeInsight/codeVision/ui/model/ProjectCodeVisionModel.kt b/platform/lang-impl/src/com/intellij/codeInsight/codeVision/ui/model/ProjectCodeVisionModel.kt index 19a6b0385e77..2b5e919b6780 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/codeVision/ui/model/ProjectCodeVisionModel.kt +++ b/platform/lang-impl/src/com/intellij/codeInsight/codeVision/ui/model/ProjectCodeVisionModel.kt @@ -19,6 +19,7 @@ class ProjectCodeVisionModel private constructor(val project: Project) { const val MORE_PROVIDER_ID = "!More" const val HIDE_PROVIDER_ID = "!Hide" + const val HIDE_ALL = "!HideAll" } val maxVisibleLensCount = ViewableMap<CodeVisionAnchorKind, Int>() @@ -28,7 +29,6 @@ class ProjectCodeVisionModel private constructor(val project: Project) { val moreEntry = AdditionalCodeVisionEntry(MORE_PROVIDER_ID, "More...") - val hideLens = CodeVisionEntryExtraActionModel(CodeVisionBundle.message("action.hide.this.metric.text"), HIDE_PROVIDER_ID) private fun getCodeVisionHost() = CodeVisionHost.getInstance(project) @@ -47,8 +47,15 @@ class ProjectCodeVisionModel private constructor(val project: Project) { fun handleLensExtraAction(editor: Editor, range: TextRange, entry: CodeVisionEntry, actionId: String) { if (actionId == HIDE_PROVIDER_ID) { - CodeVisionSettings.instance().setProviderEnabled(entry.providerId, false) - CodeVisionHost.getInstance(project).invalidateProviderSignal.fire(CodeVisionHost.LensInvalidateSignal(null, listOf(entry.providerId))) + val id = CodeVisionHost.getInstance(project).getProviderById(entry.providerId)?.groupId ?: entry.providerId + CodeVisionSettings.instance().setProviderEnabled(id, false) + CodeVisionHost.getInstance(project).invalidateProviderSignal.fire(CodeVisionHost.LensInvalidateSignal(null)) + return + } + + if (actionId == HIDE_ALL) { + CodeVisionSettings.instance().codeVisionEnabled = false + CodeVisionHost.getInstance(project).invalidateProviderSignal.fire(CodeVisionHost.LensInvalidateSignal(null)) return } |