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");
topPanel.add(topPanelBackButton, BorderLayout.WEST);
topPanel.add(listItem.createToggleButton(), BorderLayout.EAST);
topPanel.add(listItem.getConfigToggleButton(), BorderLayout.EAST);
String name = listItem.getName();
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.PluginManager;
import net.runelite.client.ui.ClientToolbar;
import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.components.colorpicker.ColorPickerManager;
import net.runelite.client.ui.overlay.Overlay;
@@ -53,9 +52,6 @@ import net.runelite.client.util.ImageUtil;
)
public class ConfigPlugin extends Plugin
{
@Inject
private ClientUI clientUI;
@Inject
private ClientToolbar clientToolbar;

View File

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