From b63e792b9474bfbe3e5ee4199487cf92b369a0a6 Mon Sep 17 00:00:00 2001 From: aria Date: Sat, 11 Nov 2017 12:10:21 +0800 Subject: [PATCH] runelite-client: sort config groups by name in config panel --- .../runelite/client/plugins/config/ConfigPanel.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 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 fbf41fd6af..0e41354fc9 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 @@ -37,7 +37,7 @@ import java.awt.event.MouseEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import java.util.ArrayList; -import java.util.Collection; +import java.util.Comparator; import java.util.List; import javax.swing.BorderFactory; import javax.swing.JButton; @@ -91,7 +91,7 @@ public class ConfigPanel extends PluginPanel add(createConfigPanel(), BorderLayout.NORTH); } - private Collection getConfig() + private List getConfig() { List list = new ArrayList<>(); for (Object config : runelite.getConfigManager().getConfigProxies()) @@ -112,7 +112,12 @@ public class ConfigPanel extends PluginPanel panel.add(new JLabel("Plugin Configuration", SwingConstants.CENTER)); ConfigManager configManager = runelite.getConfigManager(); - Collection config = getConfig(); + List config = getConfig(); + + // Sort by name + Comparator comparator = (ConfigDescriptor left, ConfigDescriptor right) -> left.getGroup().name().compareTo(right.getGroup().name()); + config.sort(comparator); + for (ConfigDescriptor cd : config) { JPanel groupPanel = new JPanel();