configpanel: Add on off toggle in the title area
This commit is contained in:
@@ -479,6 +479,13 @@ public class ConfigPanel extends PluginPanel
|
|||||||
title.setToolTipText("<html>" + name + ":<br>" + listItem.getDescription() + "</html>");
|
title.setToolTipText("<html>" + name + ":<br>" + listItem.getDescription() + "</html>");
|
||||||
topPanel.add(title);
|
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<String, JPanel> sectionWidgets = new HashMap<>();
|
final Map<String, JPanel> sectionWidgets = new HashMap<>();
|
||||||
final Map<String, JPanel> titleSectionWidgets = new HashMap<>();
|
final Map<String, JPanel> titleSectionWidgets = new HashMap<>();
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public class PluginListItem extends JPanel
|
|||||||
private static final ImageIcon CONFIG_ICON;
|
private static final ImageIcon CONFIG_ICON;
|
||||||
private static final ImageIcon CONFIG_ICON_HOVER;
|
private static final ImageIcon CONFIG_ICON_HOVER;
|
||||||
private static final ImageIcon ON_SWITCHER;
|
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 ON_STAR;
|
||||||
private static final ImageIcon OFF_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 configButton = new IconButton(CONFIG_ICON, CONFIG_ICON_HOVER);
|
||||||
private final IconButton toggleButton = new IconButton(OFF_SWITCHER);
|
private final IconButton toggleButton = new IconButton(OFF_SWITCHER);
|
||||||
|
|
||||||
|
@Getter
|
||||||
private boolean isPluginEnabled = false;
|
private boolean isPluginEnabled = false;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@@ -214,7 +215,7 @@ public class PluginListItem extends JPanel
|
|||||||
buttonPanel.add(toggleButton);
|
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
|
// no need for a listener if there is no plugin to enable / disable
|
||||||
if (plugin == null)
|
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)
|
void setPluginEnabled(boolean enabled)
|
||||||
{
|
{
|
||||||
isPluginEnabled = enabled;
|
isPluginEnabled = enabled;
|
||||||
@@ -282,7 +274,7 @@ public class PluginListItem extends JPanel
|
|||||||
isHidden = hidden;
|
isHidden = hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateToggleButton(IconButton button)
|
void updateToggleButton(IconButton button)
|
||||||
{
|
{
|
||||||
button.setIcon(isPluginEnabled ? ON_SWITCHER : OFF_SWITCHER);
|
button.setIcon(isPluginEnabled ? ON_SWITCHER : OFF_SWITCHER);
|
||||||
button.setToolTipText(isPluginEnabled ? "Disable plugin" : "Enable plugin");
|
button.setToolTipText(isPluginEnabled ? "Disable plugin" : "Enable plugin");
|
||||||
|
|||||||
Reference in New Issue
Block a user