[Query Console] DBE-7494: fixed mnemonic handling in error panel

(cherry picked from commit 608fd61ea6710b0c915af570bc1bcc49dd629d2c)

IJ-CR-218779

GitOrigin-RevId: cfea7108a942392f0c8375ff61130917ac7e8c1c
This commit is contained in:
Ekaterina Chernikova
2026-08-17 16:59:57 +00:00
committed by intellij-monorepo-bot
parent 24783897e0
commit 603afcced8
@@ -17,6 +17,7 @@ import com.intellij.openapi.ui.MessageType
import com.intellij.openapi.util.NlsActions
import com.intellij.openapi.util.NlsContexts
import com.intellij.openapi.util.text.StringUtil
import com.intellij.ui.ComponentWithMnemonics
import com.intellij.ui.components.ActionLink
import com.intellij.util.ui.JBDimension
import com.intellij.util.ui.JBUI
@@ -27,6 +28,7 @@ import java.awt.Cursor
import java.awt.Dimension
import java.awt.FlowLayout
import java.awt.Graphics
import java.awt.event.ActionEvent
import java.awt.event.KeyEvent
import java.awt.event.MouseEvent
import java.awt.event.MouseListener
@@ -58,7 +60,7 @@ class ErrorNotificationPanel private constructor(
items: List<PanelItem>,
private val hideErrorAction: Runnable?,
private val messageType: MessageType = MessageType.ERROR,
) : JPanel(BorderLayout()), UiDataProvider {
) : JPanel(BorderLayout()), UiDataProvider, ComponentWithMnemonics {
private var copyProvider: CopyProvider? = null
private val textPane: JTextArea?
private val content: JPanel
@@ -250,7 +252,7 @@ class ErrorNotificationPanel private constructor(
private val mnemonicCode: Int? = null,
) : PanelItem {
override fun buildComponent(): JComponent {
return ActionLink(linkText) { onClickAction() }.apply {
return MnemonicActionLink(linkText) { onClickAction() }.apply {
font = UIManager.getFont("ToolTip.font")
if (mnemonicCode != null) {
mnemonic = mnemonicCode
@@ -260,6 +262,9 @@ class ErrorNotificationPanel private constructor(
}
}
private class MnemonicActionLink(@Nls linkText: String, onClickAction: (ActionEvent) -> Unit) :
ActionLink(linkText, onClickAction), ComponentWithMnemonics
private class IconLink(
private val icon: Icon,
private val onClickAction: () -> Unit,