in idea-plugin/src/main/java/com/jetbrains/ide/streamdeck/keymap/ShortcutFilteringPanel.java [126:152]
void showPopup(Component component, Component emitter) {
if (myPopup == null || myPopup.isDisposed()) {
myPopup = JBPopupFactory.getInstance().createComponentPopupBuilder(this, myKeyboardPanel.myFirstStroke)
.setRequestFocus(true)
.setTitle(KeyMapBundle.message("filter.settings.popup.title"))
.setCancelKeyEnabled(false)
.setMovable(true)
.createPopup();
IdeEventQueue.getInstance().addPostprocessor(new IdeEventQueue.EventDispatcher() {
boolean isEscWasPressed;
@Override
public boolean dispatch(@NotNull AWTEvent e) {
if (e instanceof KeyEvent && e.getID() == KeyEvent.KEY_PRESSED) {
boolean isEsc = ((KeyEvent)e).getKeyCode() == KeyEvent.VK_ESCAPE;
if (isEscWasPressed && isEsc) {
myPopup.cancel();
}
isEscWasPressed = isEsc;
}
return false;
}
}, myPopup);
}
HelpTooltip.setMasterPopup(emitter, myPopup);
myPopup.showUnderneathOf(component);
}