diff --git a/platform/lang-impl/src/com/intellij/lang/documentation/ide/impl/BrowserStateListener.kt b/platform/lang-impl/src/com/intellij/lang/documentation/ide/impl/BrowserStateListener.kt index ca374d3fa443..882f1d386b43 100644 --- a/platform/lang-impl/src/com/intellij/lang/documentation/ide/impl/BrowserStateListener.kt +++ b/platform/lang-impl/src/com/intellij/lang/documentation/ide/impl/BrowserStateListener.kt @@ -11,5 +11,5 @@ import kotlinx.coroutines.Deferred internal fun interface BrowserStateListener { @RequiresEdt - fun stateChanged(request: DocumentationRequest, result: Deferred, byLink: Boolean) + fun stateChanged(request: DocumentationRequest, result: Deferred) } diff --git a/platform/lang-impl/src/com/intellij/lang/documentation/ide/impl/DocumentationBrowser.kt b/platform/lang-impl/src/com/intellij/lang/documentation/ide/impl/DocumentationBrowser.kt index 389189fbf9d4..f3a027f2abc2 100644 --- a/platform/lang-impl/src/com/intellij/lang/documentation/ide/impl/DocumentationBrowser.kt +++ b/platform/lang-impl/src/com/intellij/lang/documentation/ide/impl/DocumentationBrowser.kt @@ -54,22 +54,22 @@ internal class DocumentationBrowser private constructor( override val targetPointer: Pointer get() = state.request.targetPointer - private fun setState(state: BrowserState, byLink: Boolean) { + private fun setState(state: BrowserState) { EDT.assertIsEdt() this.state = state - fireStateUpdate(state, byLink) + fireStateUpdate(state) } - private fun fireStateUpdate(state: BrowserState, byLink: Boolean) { + private fun fireStateUpdate(state: BrowserState) { stateListeners.map { listener -> - listener.stateChanged(state.request, state.result, byLink) + listener.stateChanged(state.request, state.result) } } fun addStateListener(listener: BrowserStateListener): Disposable { EDT.assertIsEdt() stateListeners.add(listener) - listener.stateChanged(state.request, state.result, byLink = false) + listener.stateChanged(state.request, state.result) return Disposable { EDT.assertIsEdt() stateListeners.remove(listener) @@ -81,19 +81,19 @@ internal class DocumentationBrowser private constructor( cs.launch(Dispatchers.EDT) { backStack.clear() forwardStack.clear() - browseDocumentation(request, byLink = false) + browseDocumentation(request) } } override fun reload() { cs.coroutineContext.cancelChildren() cs.launch(Dispatchers.EDT) { - browseDocumentation(state.request, false) + browseDocumentation(state.request) } } - private fun browseDocumentation(request: DocumentationRequest, byLink: Boolean) { - setState(BrowserState(request, cs.computeDocumentationAsync(request.targetPointer)), byLink) + private fun browseDocumentation(request: DocumentationRequest) { + setState(BrowserState(request, cs.computeDocumentationAsync(request.targetPointer))) } fun navigateByLink(url: String) { @@ -129,7 +129,7 @@ internal class DocumentationBrowser private constructor( is InternalLinkResult.Request -> { backStack.push(historySnapshot()) forwardStack.clear() - browseDocumentation(internalResult.request, byLink = true) + browseDocumentation(internalResult.request) } is InternalLinkResult.Updater -> { handleContentUpdates(internalResult.updater) @@ -182,7 +182,7 @@ internal class DocumentationBrowser private constructor( cs.coroutineContext.cancelChildren() val result = state.result if (result.isCompleted && !result.isCancelled) { - setState(state, false) + setState(state) } else { // This can happen in the following scenario: @@ -192,7 +192,7 @@ internal class DocumentationBrowser private constructor( // At this point the request from link is cancelled, but stored in history. // 4. Invoke the Forward action. // Here we reload that cancelled request again - browseDocumentation(state.request, byLink = false) + browseDocumentation(state.request) } } diff --git a/platform/lang-impl/src/com/intellij/lang/documentation/ide/ui/DocumentationToolWindowUI.kt b/platform/lang-impl/src/com/intellij/lang/documentation/ide/ui/DocumentationToolWindowUI.kt index 5a738f9a7155..bc90164e337f 100644 --- a/platform/lang-impl/src/com/intellij/lang/documentation/ide/ui/DocumentationToolWindowUI.kt +++ b/platform/lang-impl/src/com/intellij/lang/documentation/ide/ui/DocumentationToolWindowUI.kt @@ -1,4 +1,4 @@ -// Copyright 2000-2021 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. +// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. package com.intellij.lang.documentation.ide.ui import com.intellij.codeInsight.documentation.DocumentationEditorPane @@ -108,7 +108,7 @@ internal val Content.isReusable: Boolean get() = toolWindowUI.isReusable private val TW_UI_KEY: Key = Key.create("documentation.tw.ui") private fun updateContentTab(browser: DocumentationBrowser, content: Content, asterisk: Boolean): Disposable { - return browser.addStateListener { request, _, _ -> + return browser.addStateListener { request, _ -> val presentation = request.presentation content.icon = presentation.icon content.displayName = if (asterisk) "* ${presentation.presentableText}" else presentation.presentableText diff --git a/platform/lang-impl/src/com/intellij/lang/documentation/ide/ui/DocumentationUI.kt b/platform/lang-impl/src/com/intellij/lang/documentation/ide/ui/DocumentationUI.kt index fc8ae3f9383a..0954308059b6 100644 --- a/platform/lang-impl/src/com/intellij/lang/documentation/ide/ui/DocumentationUI.kt +++ b/platform/lang-impl/src/com/intellij/lang/documentation/ide/ui/DocumentationUI.kt @@ -68,7 +68,7 @@ internal class DocumentationUI( browser.ui = this Disposer.register(this, browser) - Disposer.register(this, browser.addStateListener { request, result, _ -> + Disposer.register(this, browser.addStateListener { request, result -> applyStateLater(request, result) })