From 81503a1fa7c393c4e78071d1aadd29e2e14eb6b8 Mon Sep 17 00:00:00 2001 From: rusefi Date: Sat, 16 May 2020 15:09:42 -0400 Subject: [PATCH] Startup screen: should be a way to hit "enter" on connect button fix #1440 --- .../ui/src/com/rusefi/StartupFrame.java | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/java_console/ui/src/com/rusefi/StartupFrame.java b/java_console/ui/src/com/rusefi/StartupFrame.java index c7f00008af..99b7cf4540 100644 --- a/java_console/ui/src/com/rusefi/StartupFrame.java +++ b/java_console/ui/src/com/rusefi/StartupFrame.java @@ -3,7 +3,6 @@ package com.rusefi; import com.rusefi.autodetect.PortDetector; import com.rusefi.io.LinkManager; import com.rusefi.io.serial.BaudRateHolder; -import com.rusefi.io.serial.PortHolder; import com.rusefi.maintenance.*; import com.rusefi.ui.util.HorizontalLine; import com.rusefi.ui.util.URLLabel; @@ -110,22 +109,19 @@ public class StartupFrame { //connectButton.setBackground(new Color(RUSEFI_ORANGE)); // custom orange setToolTip(connectButton, "Connect to real hardware"); connectPanel.add(connectButton); - connectButton.addActionListener(new ActionListener() { + + frame.getRootPane().setDefaultButton(connectButton); + connectButton.addKeyListener(new KeyAdapter() { @Override - public void actionPerformed(ActionEvent e) { - BaudRateHolder.INSTANCE.baudRate = Integer.parseInt((String) comboSpeeds.getSelectedItem()); - String selectedPort = comboPorts.getSelectedItem().toString(); - if (SerialPortScanner.AUTO_SERIAL.equals(selectedPort)) { - String autoDetectedPort = PortDetector.autoDetectPort(StartupFrame.this.frame); - if (autoDetectedPort == null) - return; - selectedPort = autoDetectedPort; + public void keyPressed(KeyEvent e) { + if (e.getKeyCode() == KeyEvent.VK_ENTER) { + connectButtonAction(comboSpeeds); } - disposeFrameAndProceed(); - new Launcher(selectedPort); } }); + connectButton.addActionListener(e -> connectButtonAction(comboSpeeds)); + leftPanel.add(realHardwarePanel); leftPanel.add(miscPanel); @@ -225,6 +221,19 @@ public class StartupFrame { } } + private void connectButtonAction(JComboBox comboSpeeds) { + BaudRateHolder.INSTANCE.baudRate = Integer.parseInt((String) comboSpeeds.getSelectedItem()); + String selectedPort = comboPorts.getSelectedItem().toString(); + if (SerialPortScanner.AUTO_SERIAL.equals(selectedPort)) { + String autoDetectedPort = PortDetector.autoDetectPort(StartupFrame.this.frame); + if (autoDetectedPort == null) + return; + selectedPort = autoDetectedPort; + } + disposeFrameAndProceed(); + new Launcher(selectedPort); + } + /** * Here we listen to keystrokes while console start-up frame is being displayed and if magic "test" word is typed * we launch a functional test on real hardware, same as Jenkins runs within continues integration