[Inlay Text Hints] isEnabledAndVisible = false, when inline hints disabled

This commit is contained in:
Yaroslav Lepenkin
2016-08-25 19:53:08 +03:00
parent c239d4cd5f
commit d9d5bbb421
2 changed files with 9 additions and 27 deletions
@@ -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
}
}
+3 -3
View File
@@ -51,9 +51,6 @@
<component>
<implementation-class>com.intellij.util.xml.impl.JavaDomApplicationComponent</implementation-class>
</component>
<component>
<implementation-class>com.intellij.reporting.InlineHintReporterRegistration</implementation-class>
</component>
</application-components>
<project-components>
@@ -1790,6 +1787,9 @@
<action id="ShowRecentTests" class="com.intellij.testIntegration.ShowRecentTests">
<keyboard-shortcut first-keystroke="control shift SEMICOLON" keymap="$default"/>
</action>
<action id="ReportMissingOrExcessiveInlineHint" class="com.intellij.reporting.ReportMissingOrExcessiveInlineHint">
<add-to-group group-id="EditorPopupMenu"/>
</action>
<action class="com.intellij.execution.testDiscovery.ConfigureTestDiscoveryAction" internal="true" id="TestDiscoveryIndexChooser" text="Choose external test discovery indices">
<add-to-group group-id="Internal" anchor="last"/>
</action>