diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigItem.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigItem.java index 2af95af66d..11b3f6c321 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigItem.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigItem.java @@ -54,4 +54,8 @@ public @interface ConfigItem String hide() default ""; String parent() default ""; + + String enabledBy() default ""; + + String disabledBy() default ""; } 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 6235d87dc4..d51bea43d7 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 @@ -892,6 +892,20 @@ public class ConfigPanel extends PluginPanel return; } } + + if (checkbox.isSelected()) + { + if (cid2.getItem().enabledBy().equals(cid.getItem().keyName())) + { + configManager.setConfiguration(cd.getGroup().value(), cid2.getItem().keyName(), "true"); + openGroupConfigPanel(listItem, config, cd); + } + else if (cid2.getItem().disabledBy().equals(cid.getItem().keyName())) + { + configManager.setConfiguration(cd.getGroup().value(), cid2.getItem().keyName(), "false"); + openGroupConfigPanel(listItem, config, cd); + } + } } } else if (component instanceof JSpinner)