From a22b8384f98a4a9cc103afd1383da380f285ffd5 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 3 May 2017 19:59:41 -0400 Subject: [PATCH] hiscore plugin: replace nbsp with space in player names, run lookup on another thread --- .../client/plugins/hiscore/Hiscore.java | 6 +++--- .../client/plugins/hiscore/HiscorePanel.java | 18 ++++++++++++++++-- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/Hiscore.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/Hiscore.java index ef9d75c9e2..8017054f95 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/Hiscore.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/Hiscore.java @@ -43,12 +43,12 @@ public class Hiscore extends Plugin private static final String LOOKUP = "Lookup"; - private final NavigationButton navButton = new NavigationButton("Hiscore"); - private final HiscorePanel hiscorePanel = new HiscorePanel(); - private final RuneLite runeLite = RuneLite.getRunelite(); private final ClientUI ui = runeLite.getGui(); + private final NavigationButton navButton = new NavigationButton("Hiscore"); + private final HiscorePanel hiscorePanel = new HiscorePanel(runeLite); + @Override protected void startUp() throws Exception { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java index 507f793b3f..4b24b9f4ae 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java @@ -30,6 +30,7 @@ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.io.IOException; import java.net.URISyntaxException; +import java.util.concurrent.ScheduledExecutorService; import javax.imageio.ImageIO; import javax.swing.ImageIcon; import javax.swing.JButton; @@ -37,6 +38,7 @@ import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; import net.runelite.api.Skill; +import net.runelite.client.RuneLite; import net.runelite.client.ui.PluginPanel; import net.runelite.http.api.hiscore.HiscoreClient; import net.runelite.http.api.hiscore.HiscoreResult; @@ -47,6 +49,8 @@ public class HiscorePanel extends PluginPanel { private static final Logger logger = LoggerFactory.getLogger(HiscorePanel.class); + private final RuneLite runelite; + private JTextField input; private JButton lookupButton; @@ -78,8 +82,10 @@ public class HiscorePanel extends PluginPanel private final HiscoreClient client = new HiscoreClient(); - public HiscorePanel() + public HiscorePanel(RuneLite runelite) { + this.runelite = runelite; + setMinimumSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT)); setPreferredSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT)); setSize(PANEL_WIDTH, PANEL_HEIGHT); @@ -94,7 +100,8 @@ public class HiscorePanel extends PluginPanel lookupButton.addActionListener((ActionEvent e) -> { - lookup(); + ScheduledExecutorService executor = runelite.getExecutor(); + executor.execute(this::lookup); }); JPanel statsPanel = new JPanel(); @@ -160,6 +167,8 @@ public class HiscorePanel extends PluginPanel { String lookup = input.getText(); + lookup = sanitize(lookup); + if (Strings.isNullOrEmpty(lookup)) { return; @@ -205,4 +214,9 @@ public class HiscorePanel extends PluginPanel { label.setText("" + skill.getLevel()); } + + private static String sanitize(String lookup) + { + return lookup.replace('\u00A0', ' '); + } }