From 5acf8e165e110bcabe44e823f68e3b59556cdf2c Mon Sep 17 00:00:00 2001 From: Ivan Semenov Date: Thu, 31 Jan 2019 08:22:46 +0300 Subject: [PATCH] [github] Make PR edit buttons focusable available via keyboard --- .../pullrequest/ui/details/LabeledListPanelHandle.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/plugins/github/src/org/jetbrains/plugins/github/pullrequest/ui/details/LabeledListPanelHandle.kt b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/ui/details/LabeledListPanelHandle.kt index c1cd96191e6e..ebc406fb2d25 100644 --- a/plugins/github/src/org/jetbrains/plugins/github/pullrequest/ui/details/LabeledListPanelHandle.kt +++ b/plugins/github/src/org/jetbrains/plugins/github/pullrequest/ui/details/LabeledListPanelHandle.kt @@ -18,6 +18,8 @@ import org.jetbrains.plugins.github.util.GithubUtil.Delegates.equalVetoingObserv import java.awt.Cursor import java.awt.FlowLayout import java.awt.event.ActionListener +import java.awt.event.KeyAdapter +import java.awt.event.KeyEvent import javax.swing.Icon import javax.swing.JComponent import javax.swing.JLabel @@ -40,6 +42,15 @@ internal abstract class LabeledListPanelHandle(private val model: GithubPullR ActionListener { (::editList)() }).apply { cursor = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR) isVisible = securityService.isCurrentUserWithPushAccess() + isFocusable = true + addKeyListener(object : KeyAdapter() { + override fun keyPressed(e: KeyEvent) { + if (e.keyCode == KeyEvent.VK_ENTER || e.keyCode == KeyEvent.VK_SPACE) { + doClick() + e.consume() + } + } + }) } private fun resizeSquareIcon(icon: Icon): Icon {