From 3af539a3c94d3afc6aaf551ed6277937ecf26937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anian=20B=C3=BChler?= <anian.buehler@reutlingen-university.de> Date: Thu, 3 Feb 2022 11:05:15 +0100 Subject: [PATCH] fixed "opening multiple help pages" by helpButton --- src/main/java/com/ardublock/ui/OpenblocksFrame.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/ardublock/ui/OpenblocksFrame.java b/src/main/java/com/ardublock/ui/OpenblocksFrame.java index f420051..608bee3 100644 --- a/src/main/java/com/ardublock/ui/OpenblocksFrame.java +++ b/src/main/java/com/ardublock/ui/OpenblocksFrame.java @@ -578,7 +578,7 @@ public class OpenblocksFrame extends JFrame simulateMenuItem.setVisible(false); simulateMenuItem.unregisterKeyboardAction(ctrluKeyStroke); //helpButton.setVisible(false); - helpButton.removeActionListener(simulatorHelpButtonListener); + removeAllActionListeners(helpButton); helpButton.addActionListener(helpButtonListener); helpButton.setToolTipText(uiMessageBundle.getString("ardublock.ui.help.tooltip")); serialMonitorButton.setVisible(true); @@ -649,7 +649,7 @@ public class OpenblocksFrame extends JFrame simulateMenuItem.setVisible(false); simulateMenuItem.unregisterKeyboardAction(ctrluKeyStroke); //helpButton.setVisible(false); - helpButton.removeActionListener(simulatorHelpButtonListener); + removeAllActionListeners(helpButton); helpButton.addActionListener(helpButtonListener); helpButton.setToolTipText(uiMessageBundle.getString("ardublock.ui.help.tooltip")); serialMonitorButton.setVisible(true); @@ -718,8 +718,9 @@ public class OpenblocksFrame extends JFrame simulateMenuItem.setVisible(true); simulateMenuItem.registerKeyboardAction(simulateButtonListener, ctrluKeyStroke, JComponent.WHEN_IN_FOCUSED_WINDOW); //helpButton.setVisible(true); - helpButton.removeActionListener(helpButtonListener); + removeAllActionListeners(helpButton); helpButton.addActionListener(simulatorHelpButtonListener); + helpButton.addActionListener(helpButtonListener); helpButton.setToolTipText(uiMessageBundle.getString("ardublock.ui.simulatorHelp.tooltip")); serialMonitorButton.setVisible(false); serialPlotterButton.setVisible(false); @@ -1380,6 +1381,12 @@ public class OpenblocksFrame extends JFrame return workspaceModeState; } + private void removeAllActionListeners(JButton button) { //letsgoING + for( ActionListener al : button.getActionListeners() ) { + button.removeActionListener( al ); + } + } + //TODO: TESTTESTTEST private void addLibrary(String libraryName) { -- GitLab