diff --git a/platform/platform-impl/src/com/intellij/ide/ui/newItemPopup/NewItemSimplePopupPanel.java b/platform/platform-impl/src/com/intellij/ide/ui/newItemPopup/NewItemSimplePopupPanel.java index 39b32183de3f..eb9bea867cb2 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/newItemPopup/NewItemSimplePopupPanel.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/newItemPopup/NewItemSimplePopupPanel.java @@ -123,12 +123,7 @@ public class NewItemSimplePopupPanel extends JBPanel implements Disposable { res.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { - if (e.getKeyCode() == KeyEvent.VK_ENTER) { - if (myApplyAction == null) return; - try (AccessToken ignore = SlowOperations.startSection(SlowOperations.ACTION_PERFORM)) { - myApplyAction.consume(e); - } - } + performApplyActionOnEnter(e); } }); @@ -142,6 +137,15 @@ public class NewItemSimplePopupPanel extends JBPanel implements Disposable { return res; } + protected void performApplyActionOnEnter(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + if (myApplyAction == null) return; + try (AccessToken ignore = SlowOperations.startSection(SlowOperations.ACTION_PERFORM)) { + myApplyAction.consume(e); + } + } + } + public boolean hasError() { return myErrorPopup != null; } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/newItemPopup/NewItemWithTemplatesPopupPanel.java b/platform/platform-impl/src/com/intellij/ide/ui/newItemPopup/NewItemWithTemplatesPopupPanel.java index 473a97ec0244..1df42ebef37e 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/newItemPopup/NewItemWithTemplatesPopupPanel.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/newItemPopup/NewItemWithTemplatesPopupPanel.java @@ -17,7 +17,7 @@ import javax.swing.*; import javax.swing.border.Border; import java.awt.*; import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; +import java.awt.event.KeyAdapter; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.util.ArrayList; @@ -54,19 +54,19 @@ public class NewItemWithTemplatesPopupPanel extends NewItemSimplePopupPanel { else { setFocusCycleRoot(true); setFocusTraversalPolicy(new LayoutFocusTraversalPolicy()); - textField.addKeyListener(new KeyListener() { - @Override - public void keyTyped(KeyEvent e) { } - + textField.addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e != null && (e.getKeyCode() == KeyEvent.VK_DOWN || e.getKeyCode() == KeyEvent.VK_UP)) { textField.transferFocus(); } } - + }); + myTemplatesList.addKeyListener(new KeyAdapter() { @Override - public void keyReleased(KeyEvent e) { } + public void keyPressed(KeyEvent e) { + performApplyActionOnEnter(e); + } }); }