From d9d5bbb421ac36e1fe979e59b3a4253ce4d8003a Mon Sep 17 00:00:00 2001 From: Yaroslav Lepenkin Date: Thu, 25 Aug 2016 19:47:25 +0300 Subject: [PATCH] [Inlay Text Hints] isEnabledAndVisible = false, when inline hints disabled --- .../ReportMissingOrExcessiveInlineHint.kt | 30 ++++--------------- resources/src/META-INF/IdeaPlugin.xml | 6 ++-- 2 files changed, 9 insertions(+), 27 deletions(-) diff --git a/java/java-impl/src/com/intellij/reporting/ReportMissingOrExcessiveInlineHint.kt b/java/java-impl/src/com/intellij/reporting/ReportMissingOrExcessiveInlineHint.kt index cabbed0ee285..30a7091a21e0 100644 --- a/java/java-impl/src/com/intellij/reporting/ReportMissingOrExcessiveInlineHint.kt +++ b/java/java-impl/src/com/intellij/reporting/ReportMissingOrExcessiveInlineHint.kt @@ -17,37 +17,17 @@ package com.intellij.reporting import com.intellij.codeInsight.daemon.impl.ParameterHintsPresentationManager import com.intellij.codeInsight.hint.HintManager -import com.intellij.openapi.actionSystem.* +import com.intellij.openapi.actionSystem.AnAction +import com.intellij.openapi.actionSystem.AnActionEvent +import com.intellij.openapi.actionSystem.CommonDataKeys import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.application.PathManager -import com.intellij.openapi.components.ApplicationComponent import com.intellij.openapi.editor.Editor import com.intellij.openapi.editor.Inlay import com.intellij.openapi.util.TextRange import com.intellij.openapi.util.registry.Registry import java.io.File - -class InlineHintReporterRegistration : ApplicationComponent { - - override fun getComponentName() = "Inline Hints Reporter Initializer" - - override fun initComponent() { - if (!isHintsEnabled()) return - - val manager = ActionManager.getInstance() - val action = ReportMissingOrExcessiveInlineHint() - manager.registerAction("ReportMissingOrExcessiveInlineHint", action) - - val group = manager.getAction("EditorPopupMenu") as DefaultActionGroup - group.add(action) - } - - override fun disposeComponent() { - } - -} - class ReportMissingOrExcessiveInlineHint : AnAction() { private val text = "Report Missing or Excessive Inline Hint" @@ -63,12 +43,14 @@ class ReportMissingOrExcessiveInlineHint : AnAction() { private val file = File(PathManager.getTempPath(), recorderId) override fun update(e: AnActionEvent) { + e.presentation.isEnabledAndVisible = false + if (!isHintsEnabled()) return val editor = CommonDataKeys.EDITOR.getData(e.dataContext) ?: return val range = getCurrentLineRange(editor) if (editor.getInlays(range).isNotEmpty()) { - e.presentation.isEnabled = true + e.presentation.isEnabledAndVisible = true } } diff --git a/resources/src/META-INF/IdeaPlugin.xml b/resources/src/META-INF/IdeaPlugin.xml index 67de654174c9..7aebb70da18d 100644 --- a/resources/src/META-INF/IdeaPlugin.xml +++ b/resources/src/META-INF/IdeaPlugin.xml @@ -51,9 +51,6 @@ com.intellij.util.xml.impl.JavaDomApplicationComponent - - com.intellij.reporting.InlineHintReporterRegistration - @@ -1790,6 +1787,9 @@ + + +