From 71cc2cfdadc09ade356749c13aa8597b8b1e842e Mon Sep 17 00:00:00 2001 From: Dmitry Drobotov Date: Thu, 3 Oct 2024 14:12:37 +0200 Subject: [PATCH] IJPL-133661 Activate welcome screen action buttons by Enter GitOrigin-RevId: 3f3ac822f313eec41c54a5dee7cde16371c092d9 --- .../WelcomeScreenActionsUtil.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/WelcomeScreenActionsUtil.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/WelcomeScreenActionsUtil.java index 9a3bc1856dc1..9f733b52be23 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/WelcomeScreenActionsUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/welcomeScreen/WelcomeScreenActionsUtil.java @@ -19,9 +19,7 @@ import org.jetbrains.annotations.NotNull; import javax.swing.*; import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.FocusEvent; -import java.awt.event.FocusListener; +import java.awt.event.*; import java.util.List; import static com.intellij.openapi.wm.impl.welcomeScreen.WelcomeScreenUIManager.getActionsButtonBackground; @@ -43,6 +41,16 @@ final class WelcomeScreenActionsUtil { if (actions != null && actions.size() > 1) { button.setOptions(actions); } + else { + button.addKeyListener(new KeyAdapter() { + @Override + public void keyPressed(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + button.doClick(); + } + } + }); + } button.setBackground(WelcomeScreenUIManager.getMainAssociatedComponentBackground()); button.putClientProperty(JBOptionButton.PLACE, place); return button; @@ -99,6 +107,14 @@ final class WelcomeScreenActionsUtil { updateIconBackground(false); } }); + myIconButton.addKeyListener(new KeyAdapter() { + @Override + public void keyPressed(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + myIconButton.doClick(); + } + } + }); Wrapper iconWrapper = new Wrapper(myIconButton); iconWrapper.setFocusable(false); iconWrapper.setBorder(JBUI.Borders.empty(0, 30));