Merge pull request #10050 from deathbeam/fix-button-toggling

Properly update plugin toggle button on plugin state change
This commit is contained in:
Tomas Slusny
2019-10-15 11:12:05 +02:00
committed by GitHub
3 changed files with 11 additions and 10 deletions

View File

@@ -306,7 +306,7 @@ public class ConfigPanel extends PluginPanel
topPanelBackButton.setToolTipText("Back"); topPanelBackButton.setToolTipText("Back");
topPanel.add(topPanelBackButton, BorderLayout.WEST); topPanel.add(topPanelBackButton, BorderLayout.WEST);
topPanel.add(listItem.createToggleButton(), BorderLayout.EAST); topPanel.add(listItem.getConfigToggleButton(), BorderLayout.EAST);
String name = listItem.getName(); String name = listItem.getName();
JLabel title = new JLabel(name); JLabel title = new JLabel(name);

View File

@@ -39,7 +39,6 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginManager; import net.runelite.client.plugins.PluginManager;
import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.ClientToolbar;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.components.colorpicker.ColorPickerManager; import net.runelite.client.ui.components.colorpicker.ColorPickerManager;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.Overlay;
@@ -53,9 +52,6 @@ import net.runelite.client.util.ImageUtil;
) )
public class ConfigPlugin extends Plugin public class ConfigPlugin extends Plugin
{ {
@Inject
private ClientUI clientUI;
@Inject @Inject
private ClientToolbar clientToolbar; private ClientToolbar clientToolbar;

View File

@@ -91,11 +91,14 @@ class PluginListItem extends JPanel
@Getter @Getter
private final String description; private final String description;
@Getter
private final IconButton configToggleButton;
private final List<String> keywords = new ArrayList<>(); private final List<String> keywords = new ArrayList<>();
private final IconButton pinButton = new IconButton(OFF_STAR); private final IconButton pinButton = new IconButton(OFF_STAR);
private final IconButton configButton = new IconButton(CONFIG_ICON, CONFIG_ICON_HOVER); private final IconButton configButton = new IconButton(CONFIG_ICON, CONFIG_ICON_HOVER);
private final IconButton toggleButton = new IconButton(OFF_SWITCHER); private final IconButton toggleButton;
private boolean isPluginEnabled = false; private boolean isPluginEnabled = false;
@@ -215,9 +218,10 @@ class PluginListItem extends JPanel
addLabelPopupMenu(nameLabel, popupMenuItems); addLabelPopupMenu(nameLabel, popupMenuItems);
add(nameLabel, BorderLayout.CENTER); add(nameLabel, BorderLayout.CENTER);
toggleButton.setPreferredSize(new Dimension(25, 0)); toggleButton = createToggleButton();
attachToggleButtonListener(toggleButton);
buttonPanel.add(toggleButton); buttonPanel.add(toggleButton);
configToggleButton = createToggleButton();
} }
private void attachToggleButtonListener(IconButton button) private void attachToggleButtonListener(IconButton button)
@@ -245,9 +249,9 @@ class PluginListItem extends JPanel
}); });
} }
IconButton createToggleButton() private IconButton createToggleButton()
{ {
IconButton button = new IconButton(OFF_SWITCHER); final IconButton button = new IconButton(OFF_SWITCHER);
button.setPreferredSize(new Dimension(25, 0)); button.setPreferredSize(new Dimension(25, 0));
updateToggleButton(button); updateToggleButton(button);
attachToggleButtonListener(button); attachToggleButtonListener(button);
@@ -258,6 +262,7 @@ class PluginListItem extends JPanel
{ {
isPluginEnabled = enabled; isPluginEnabled = enabled;
updateToggleButton(toggleButton); updateToggleButton(toggleButton);
updateToggleButton(configToggleButton);
} }
void setPinned(boolean pinned) void setPinned(boolean pinned)