From 64da9b0ed1e3f4641b6ab55a336d1f4cc6ca5885 Mon Sep 17 00:00:00 2001 From: Ganom Date: Thu, 13 Aug 2020 23:06:20 -0400 Subject: [PATCH] configpanel: various fixes (#2774) * configpanel: ensure enums are properly displayed * configpanel: properly categorize buttons. * configpanel: remove unnecessary button array. --- .../client/plugins/config/ConfigPanel.java | 53 +++++++++---------- 1 file changed, 25 insertions(+), 28 deletions(-) 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 ecabe1a588..592b0a07eb 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 @@ -440,8 +440,6 @@ class ConfigPanel extends PluginPanel ConfigDescriptor cd = pluginConfig.getConfigDescriptor(); assert cd != null; - List buttons = new ArrayList<>(); - Map> pluginsInfoMap = externalPluginManager.getPluginsInfoMap(); if (pluginConfig.getPlugin() != null && pluginsInfoMap.containsKey(pluginConfig.getPlugin().getClass().getSimpleName())) @@ -566,28 +564,6 @@ class ConfigPanel extends PluginPanel } } - if (cid.getType() == Button.class) - { - try - { - ConfigItem item = cid.getItem(); - JButton button = new JButton(item.name()); - button.addActionListener((e) -> { - ConfigButtonClicked event = new ConfigButtonClicked(); - event.setGroup(cd.getGroup().value()); - event.setKey(cid.getItem().keyName()); - eventBus.post(ConfigButtonClicked.class, event); - }); - buttons.add(button); - } - catch (Exception ex) - { - log.error("Adding action listener failed: {}", ex.getMessage()); - ex.printStackTrace(); - } - - continue; - } JPanel item = new JPanel(); item.setLayout(new BorderLayout()); item.setMinimumSize(new Dimension(PANEL_WIDTH, 0)); @@ -597,6 +573,28 @@ class ConfigPanel extends PluginPanel configEntryName.setToolTipText("" + name + ":
" + cid.getItem().description() + ""); item.add(configEntryName, cid.getType() != String.class ? BorderLayout.CENTER : BorderLayout.NORTH); + if (cid.getType() == Button.class) + { + try + { + ConfigItem cidItem = cid.getItem(); + JButton button = new JButton(cidItem.name()); + button.addActionListener((e) -> + { + ConfigButtonClicked event = new ConfigButtonClicked(); + event.setGroup(cd.getGroup().value()); + event.setKey(cid.getItem().keyName()); + eventBus.post(ConfigButtonClicked.class, event); + }); + item.add(button); + } + catch (Exception ex) + { + log.error("Adding action listener failed: {}", ex.getMessage()); + ex.printStackTrace(); + } + } + if (cid.getType() == boolean.class) { JCheckBox checkbox = new JCheckBox(); @@ -612,7 +610,8 @@ class ConfigPanel extends PluginPanel item.remove(configEntryName); JButton button = new JButton(cid.getItem().name()); - button.addActionListener((e) -> { + button.addActionListener((e) -> + { log.debug("Running consumer: {}.{}", cd.getGroup().value(), cid.getItem().keyName()); configManager.getConsumer(cd.getGroup().value(), cid.getItem().keyName()).accept(pluginConfig.getPlugin()); }); @@ -945,7 +944,7 @@ class ConfigPanel extends PluginPanel box.setToolTipText(Text.titleCase((Enum) box.getSelectedItem())); } }); - item.add(box, BorderLayout.CENTER); + item.add(box, BorderLayout.EAST); } if (cid.getType() == Keybind.class || cid.getType() == ModifierlessKeybind.class) @@ -1015,8 +1014,6 @@ class ConfigPanel extends PluginPanel } } - buttons.forEach(mainPanel::add); - JButton resetButton = new JButton("Reset"); resetButton.addActionListener((e) -> {