hiscore plugin: replace nbsp with space in player names, run lookup on another thread
This commit is contained in:
@@ -43,12 +43,12 @@ public class Hiscore extends Plugin
|
|||||||
|
|
||||||
private static final String LOOKUP = "Lookup";
|
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 RuneLite runeLite = RuneLite.getRunelite();
|
||||||
private final ClientUI ui = runeLite.getGui();
|
private final ClientUI ui = runeLite.getGui();
|
||||||
|
|
||||||
|
private final NavigationButton navButton = new NavigationButton("Hiscore");
|
||||||
|
private final HiscorePanel hiscorePanel = new HiscorePanel(runeLite);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void startUp() throws Exception
|
protected void startUp() throws Exception
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ import java.awt.GridLayout;
|
|||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URISyntaxException;
|
import java.net.URISyntaxException;
|
||||||
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
import javax.imageio.ImageIO;
|
import javax.imageio.ImageIO;
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
@@ -37,6 +38,7 @@ import javax.swing.JLabel;
|
|||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import net.runelite.api.Skill;
|
import net.runelite.api.Skill;
|
||||||
|
import net.runelite.client.RuneLite;
|
||||||
import net.runelite.client.ui.PluginPanel;
|
import net.runelite.client.ui.PluginPanel;
|
||||||
import net.runelite.http.api.hiscore.HiscoreClient;
|
import net.runelite.http.api.hiscore.HiscoreClient;
|
||||||
import net.runelite.http.api.hiscore.HiscoreResult;
|
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 static final Logger logger = LoggerFactory.getLogger(HiscorePanel.class);
|
||||||
|
|
||||||
|
private final RuneLite runelite;
|
||||||
|
|
||||||
private JTextField input;
|
private JTextField input;
|
||||||
private JButton lookupButton;
|
private JButton lookupButton;
|
||||||
|
|
||||||
@@ -78,8 +82,10 @@ public class HiscorePanel extends PluginPanel
|
|||||||
|
|
||||||
private final HiscoreClient client = new HiscoreClient();
|
private final HiscoreClient client = new HiscoreClient();
|
||||||
|
|
||||||
public HiscorePanel()
|
public HiscorePanel(RuneLite runelite)
|
||||||
{
|
{
|
||||||
|
this.runelite = runelite;
|
||||||
|
|
||||||
setMinimumSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT));
|
setMinimumSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT));
|
||||||
setPreferredSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT));
|
setPreferredSize(new Dimension(PANEL_WIDTH, PANEL_HEIGHT));
|
||||||
setSize(PANEL_WIDTH, PANEL_HEIGHT);
|
setSize(PANEL_WIDTH, PANEL_HEIGHT);
|
||||||
@@ -94,7 +100,8 @@ public class HiscorePanel extends PluginPanel
|
|||||||
|
|
||||||
lookupButton.addActionListener((ActionEvent e) ->
|
lookupButton.addActionListener((ActionEvent e) ->
|
||||||
{
|
{
|
||||||
lookup();
|
ScheduledExecutorService executor = runelite.getExecutor();
|
||||||
|
executor.execute(this::lookup);
|
||||||
});
|
});
|
||||||
|
|
||||||
JPanel statsPanel = new JPanel();
|
JPanel statsPanel = new JPanel();
|
||||||
@@ -160,6 +167,8 @@ public class HiscorePanel extends PluginPanel
|
|||||||
{
|
{
|
||||||
String lookup = input.getText();
|
String lookup = input.getText();
|
||||||
|
|
||||||
|
lookup = sanitize(lookup);
|
||||||
|
|
||||||
if (Strings.isNullOrEmpty(lookup))
|
if (Strings.isNullOrEmpty(lookup))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -205,4 +214,9 @@ public class HiscorePanel extends PluginPanel
|
|||||||
{
|
{
|
||||||
label.setText("" + skill.getLevel());
|
label.setText("" + skill.getLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String sanitize(String lookup)
|
||||||
|
{
|
||||||
|
return lookup.replace('\u00A0', ' ');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user