From ef1d57a2ce2d6795ac12e8a77691db554663dfe4 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Mon, 21 Oct 2019 20:03:55 +0200 Subject: [PATCH] configpanel: Add on off toggle in the title area --- .../client/plugins/config/ConfigPanel.java | 7 +++++++ .../client/plugins/config/PluginListItem.java | 16 ++++------------ 2 files changed, 11 insertions(+), 12 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java index 18390bf0a1..5bb19be389 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/ConfigPanel.java @@ -479,6 +479,13 @@ public class ConfigPanel extends PluginPanel title.setToolTipText("" + name + ":
" + listItem.getDescription() + ""); topPanel.add(title); + IconButton toggleButton = new IconButton(PluginListItem.OFF_SWITCHER); + toggleButton.setPreferredSize(new Dimension(25, 0)); + listItem.updateToggleButton(toggleButton); + listItem.attachToggleButtonListener(toggleButton); + + topPanel.add(toggleButton, BorderLayout.EAST); + final Map sectionWidgets = new HashMap<>(); final Map titleSectionWidgets = new HashMap<>(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListItem.java b/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListItem.java index 3a7911faf9..ba4058c379 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListItem.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListItem.java @@ -60,7 +60,7 @@ public class PluginListItem extends JPanel private static final ImageIcon CONFIG_ICON; private static final ImageIcon CONFIG_ICON_HOVER; private static final ImageIcon ON_SWITCHER; - private static final ImageIcon OFF_SWITCHER; + public static final ImageIcon OFF_SWITCHER; private static final ImageIcon ON_STAR; private static final ImageIcon OFF_STAR; @@ -93,6 +93,7 @@ public class PluginListItem extends JPanel private final IconButton configButton = new IconButton(CONFIG_ICON, CONFIG_ICON_HOVER); private final IconButton toggleButton = new IconButton(OFF_SWITCHER); + @Getter private boolean isPluginEnabled = false; @Getter @@ -214,7 +215,7 @@ public class PluginListItem extends JPanel buttonPanel.add(toggleButton); } - private void attachToggleButtonListener(IconButton button) + void attachToggleButtonListener(IconButton button) { // no need for a listener if there is no plugin to enable / disable if (plugin == null) @@ -239,15 +240,6 @@ public class PluginListItem extends JPanel }); } - IconButton createToggleButton() - { - IconButton button = new IconButton(OFF_SWITCHER); - button.setPreferredSize(new Dimension(25, 0)); - updateToggleButton(button); - attachToggleButtonListener(button); - return button; - } - void setPluginEnabled(boolean enabled) { isPluginEnabled = enabled; @@ -282,7 +274,7 @@ public class PluginListItem extends JPanel isHidden = hidden; } - private void updateToggleButton(IconButton button) + void updateToggleButton(IconButton button) { button.setIcon(isPluginEnabled ? ON_SWITCHER : OFF_SWITCHER); button.setToolTipText(isPluginEnabled ? "Disable plugin" : "Enable plugin");