From 1dc534cf21e3203dca0147394ffe41ab0c640e88 Mon Sep 17 00:00:00 2001 From: Im2be Date: Sun, 22 Dec 2019 03:54:53 +0100 Subject: [PATCH 1/2] Add sorting to the InventorySetups JComboBox --- .../inventorysetups/InventorySetupPlugin.java | 6 ++++-- .../ui/InventorySetupPluginPanel.java | 14 ++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java index 593797ae0e..cf81a37cfa 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/InventorySetupPlugin.java @@ -32,10 +32,12 @@ import java.awt.image.BufferedImage; import java.lang.reflect.Type; import java.util.ArrayList; +import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; import javax.inject.Inject; import javax.inject.Singleton; import javax.swing.JOptionPane; @@ -213,7 +215,7 @@ public void addInventorySetup() SwingUtilities.invokeLater(() -> { inventorySetups.put(name, invSetup); - panel.addInventorySetup(name); + panel.addInventorySetupUnsorted(name); panel.setCurrentInventorySetup(name); updateConfig(); @@ -305,7 +307,7 @@ private void loadConfig() inventorySetups.putAll(gson.fromJson(json, type)); } - for (final String key : inventorySetups.keySet()) + for (final String key : inventorySetups.keySet().stream().sorted(Comparator.comparing(String::toLowerCase)).collect(Collectors.toList())) { panel.addInventorySetup(key); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/ui/InventorySetupPluginPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/ui/InventorySetupPluginPanel.java index 771d750c9e..007fb6b737 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/ui/InventorySetupPluginPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/ui/InventorySetupPluginPanel.java @@ -275,6 +275,20 @@ public void addInventorySetup(final String name) setupComboBox.addItem(name); } + public void addInventorySetupUnsorted(final String name) + { + for (int i = 1; i < setupComboBox.getItemCount(); ++i) + { + if (setupComboBox.getItemAt(i).toLowerCase().compareTo(name.toLowerCase()) > 0) + { + setupComboBox.insertItemAt(name, i); + return; + } + } + + setupComboBox.addItem(name); + } + public void removeInventorySetup(final String name) { setupComboBox.removeItem(name); From a079e16e95170069caddd8e30a43793c9499aeae Mon Sep 17 00:00:00 2001 From: Kyle <48519776+xKylee@users.noreply.github.com> Date: Sun, 22 Dec 2019 18:02:12 +0000 Subject: [PATCH 2/2] Update InventorySetupPluginPanel.java --- .../plugins/inventorysetups/ui/InventorySetupPluginPanel.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/ui/InventorySetupPluginPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/ui/InventorySetupPluginPanel.java index 007fb6b737..bce82cd7cb 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/ui/InventorySetupPluginPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/inventorysetups/ui/InventorySetupPluginPanel.java @@ -285,7 +285,6 @@ public void addInventorySetupUnsorted(final String name) return; } } - setupComboBox.addItem(name); } @@ -321,4 +320,4 @@ public final String getSelectedInventorySetup() { return (String) setupComboBox.getSelectedItem(); } -} \ No newline at end of file +}