Merge pull request #10050 from deathbeam/fix-button-toggling
Properly update plugin toggle button on plugin state change
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user