mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
set action-update-thread for documentation actions
GitOrigin-RevId: 476107195273d953ccc32040ae3a25c79d4fa1d8
This commit is contained in:
committed by
intellij-monorepo-bot
parent
e511b31d41
commit
d58df01196
+3
@@ -3,6 +3,7 @@ package com.intellij.lang.documentation.ide.actions
|
||||
|
||||
import com.intellij.codeInsight.CodeInsightBundle
|
||||
import com.intellij.codeInsight.hint.HintManagerImpl.ActionToIgnore
|
||||
import com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.project.DumbAware
|
||||
@@ -10,6 +11,8 @@ import com.intellij.ui.showFontSizePopup
|
||||
|
||||
internal class AdjustFontSizeAction : AnAction(CodeInsightBundle.message("javadoc.adjust.font.size")), ActionToIgnore, DumbAware {
|
||||
|
||||
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT
|
||||
|
||||
override fun update(e: AnActionEvent) {
|
||||
e.presentation.isEnabledAndVisible = documentationBrowser(e.dataContext) != null
|
||||
}
|
||||
|
||||
+3
@@ -2,11 +2,14 @@
|
||||
package com.intellij.lang.documentation.ide.actions
|
||||
|
||||
import com.intellij.codeInsight.hint.HintManagerImpl.ActionToIgnore
|
||||
import com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
|
||||
internal class DocumentationBackAction : AnAction(), ActionToIgnore {
|
||||
|
||||
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.EDT
|
||||
|
||||
override fun update(e: AnActionEvent) {
|
||||
e.presentation.isEnabled = documentationHistory(e.dataContext)?.canBackward() == true
|
||||
}
|
||||
|
||||
+3
@@ -2,11 +2,14 @@
|
||||
package com.intellij.lang.documentation.ide.actions
|
||||
|
||||
import com.intellij.codeInsight.hint.HintManagerImpl.ActionToIgnore
|
||||
import com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
|
||||
internal class DocumentationForwardAction : AnAction(), ActionToIgnore {
|
||||
|
||||
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.EDT
|
||||
|
||||
override fun update(e: AnActionEvent) {
|
||||
e.presentation.isEnabled = documentationHistory(e.dataContext)?.canForward() == true
|
||||
}
|
||||
|
||||
+4
-10
@@ -2,28 +2,22 @@
|
||||
package com.intellij.lang.documentation.ide.actions
|
||||
|
||||
import com.intellij.codeInsight.hint.HintManagerImpl.ActionToIgnore
|
||||
import com.intellij.lang.documentation.ide.impl.DocumentationBrowser
|
||||
import com.intellij.lang.documentation.ide.impl.openUrl
|
||||
import com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
import com.intellij.openapi.actionSystem.AnAction
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.actionSystem.DataContext
|
||||
|
||||
internal class DocumentationViewExternalAction : AnAction(), ActionToIgnore {
|
||||
|
||||
/**
|
||||
* TODO consider exposing [DocumentationBrowser.currentExternalUrl]
|
||||
* in [com.intellij.lang.documentation.ide.DocumentationBrowserFacade]
|
||||
* to get rid of the cast
|
||||
*/
|
||||
private fun browser(dc: DataContext): DocumentationBrowser? = dc.getData(DOCUMENTATION_BROWSER) as? DocumentationBrowser
|
||||
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT
|
||||
|
||||
override fun update(e: AnActionEvent) {
|
||||
e.presentation.isEnabledAndVisible = browser(e.dataContext)?.currentExternalUrl() != null
|
||||
e.presentation.isEnabledAndVisible = documentationBrowser(e.dataContext)?.currentExternalUrl() != null
|
||||
}
|
||||
|
||||
override fun actionPerformed(e: AnActionEvent) {
|
||||
val project = e.project ?: return
|
||||
val browser = browser(e.dataContext) ?: return
|
||||
val browser = documentationBrowser(e.dataContext) ?: return
|
||||
val url = browser.currentExternalUrl() ?: return
|
||||
openUrl(project, browser.targetPointer, url)
|
||||
}
|
||||
|
||||
+3
@@ -4,11 +4,14 @@ package com.intellij.lang.documentation.ide.actions
|
||||
import com.intellij.codeInsight.CodeInsightSettings
|
||||
import com.intellij.codeInsight.hint.HintManagerImpl.ActionToIgnore
|
||||
import com.intellij.codeInsight.lookup.LookupManager
|
||||
import com.intellij.openapi.actionSystem.ActionUpdateThread
|
||||
import com.intellij.openapi.actionSystem.AnActionEvent
|
||||
import com.intellij.openapi.actionSystem.ToggleAction
|
||||
|
||||
internal class ToggleAutoShowAction : ToggleAction(), ActionToIgnore {
|
||||
|
||||
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.EDT
|
||||
|
||||
override fun update(e: AnActionEvent) {
|
||||
val project = e.project
|
||||
val visible = project != null && LookupManager.getInstance(project).activeLookup != null
|
||||
|
||||
@@ -9,9 +9,6 @@ import com.intellij.lang.documentation.ide.DocumentationBrowserFacade
|
||||
import com.intellij.lang.documentation.ide.IdeDocumentationTargetProvider
|
||||
import com.intellij.lang.documentation.ide.impl.DocumentationBrowser
|
||||
import com.intellij.lang.documentation.ide.impl.DocumentationHistory
|
||||
import com.intellij.lang.documentation.ide.impl.DocumentationToolWindowManager
|
||||
import com.intellij.lang.documentation.ide.ui.DocumentationToolWindowUI
|
||||
import com.intellij.lang.documentation.ide.ui.toolWindowUI
|
||||
import com.intellij.lang.documentation.psi.psiDocumentationTarget
|
||||
import com.intellij.lang.documentation.symbol.impl.symbolDocumentationTargets
|
||||
import com.intellij.openapi.actionSystem.*
|
||||
@@ -20,7 +17,6 @@ import com.intellij.openapi.editor.Editor
|
||||
import com.intellij.openapi.keymap.KeymapUtil
|
||||
import com.intellij.openapi.project.Project
|
||||
import com.intellij.openapi.ui.popup.JBPopup
|
||||
import com.intellij.openapi.wm.impl.content.BaseLabel
|
||||
import com.intellij.psi.util.PsiUtilBase
|
||||
import com.intellij.util.containers.ContainerUtil
|
||||
import com.intellij.util.ui.accessibility.ScreenReader
|
||||
@@ -105,25 +101,5 @@ internal fun documentationHistory(dc: DataContext): DocumentationHistory? {
|
||||
}
|
||||
|
||||
internal fun documentationBrowser(dc: DataContext): DocumentationBrowser? {
|
||||
val browser = dc.getData(DOCUMENTATION_BROWSER)
|
||||
if (browser != null) {
|
||||
return browser as DocumentationBrowser
|
||||
}
|
||||
return documentationToolWindowUI(dc)?.browser
|
||||
}
|
||||
|
||||
internal fun documentationToolWindowUI(dc: DataContext): DocumentationToolWindowUI? {
|
||||
val toolWindow = dc.getData(PlatformDataKeys.TOOL_WINDOW)
|
||||
?: return null
|
||||
if (toolWindow.id != DocumentationToolWindowManager.TOOL_WINDOW_ID) {
|
||||
return null
|
||||
}
|
||||
val component = dc.getData(PlatformCoreDataKeys.CONTEXT_COMPONENT)
|
||||
val content = if (component is BaseLabel) {
|
||||
component.content
|
||||
}
|
||||
else {
|
||||
toolWindow.contentManager.selectedContent
|
||||
}
|
||||
return content?.toolWindowUI
|
||||
return dc.getData(DOCUMENTATION_BROWSER) as? DocumentationBrowser
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user