diff options
Diffstat (limited to 'platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarAdditionAction.kt')
-rw-r--r-- | platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarAdditionAction.kt | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarAdditionAction.kt b/platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarAdditionAction.kt index 4fb1717dd48c..134a3f2b44d3 100644 --- a/platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarAdditionAction.kt +++ b/platform/execution-impl/src/com/intellij/execution/runToolbar/RunToolbarAdditionAction.kt @@ -11,22 +11,25 @@ internal class RunToolbarAdditionAction(val executorGroup: ExecutorGroup<*>, val process: RunToolbarProcess, val selectedAction: () -> AnAction?) : AnAction() { init { - updatePresentation(templatePresentation) + updateAndGetVisibility(templatePresentation) } override fun update(e: AnActionEvent) { - updatePresentation(e.presentation) + e.presentation.isVisible = updateAndGetVisibility(e.presentation) e.project?.let { e.presentation.isEnabled = !e.isActiveProcess() } } - private fun updatePresentation(presentation: Presentation) { + private fun updateAndGetVisibility(presentation: Presentation): Boolean { val action = selectedAction() - if (action is ExecutorRegistryImpl.ExecutorAction) { + return if (action is ExecutorRegistryImpl.ExecutorAction) { presentation.copyFrom(action.getTemplatePresentation()) presentation.text = executorGroup.getRunToolbarActionText(action.templatePresentation.text) + true + } else { + false } } |