summaryrefslogtreecommitdiff
path: root/platform/lang-impl/src/com/intellij/codeInsight/codeVision/ui/model/ProjectCodeVisionModel.kt
diff options
context:
space:
mode:
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.kt13
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
}