From 20f805cc1a0fc73b30cb256890ffc14bf4d1c345 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Sun, 4 Mar 2018 17:37:51 +0100 Subject: [PATCH] Use new link browser in feed plugin Use new link browser to open links from feed plugin entries. Signed-off-by: Tomas Slusny --- .../client/plugins/feed/FeedPanel.java | 26 ++++--------------- .../client/plugins/feed/FeedPlugin.java | 6 ++++- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPanel.java index 16472ec01d..1ef3400565 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPanel.java @@ -26,7 +26,6 @@ package net.runelite.client.plugins.feed; import java.awt.BorderLayout; import java.awt.Color; -import java.awt.Desktop; import java.awt.Dimension; import java.awt.Font; import java.awt.event.MouseAdapter; @@ -34,8 +33,6 @@ import java.awt.event.MouseEvent; import java.awt.font.FontRenderContext; import java.awt.image.BufferedImage; import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; import java.time.Duration; import java.time.Instant; import java.util.Comparator; @@ -52,6 +49,7 @@ import javax.swing.border.EmptyBorder; import lombok.extern.slf4j.Slf4j; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.PluginPanel; +import net.runelite.client.util.LinkBrowser; import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.feed.FeedItem; import net.runelite.http.api.feed.FeedItemType; @@ -116,11 +114,13 @@ class FeedPanel extends PluginPanel private final FeedConfig config; private final Supplier feedSupplier; + private final LinkBrowser linkBrowser; - FeedPanel(FeedConfig config, Supplier feedSupplier) + FeedPanel(FeedConfig config, Supplier feedSupplier, LinkBrowser linkBrowser) { this.config = config; this.feedSupplier = feedSupplier; + this.linkBrowser = linkBrowser; } void rebuildFeed() @@ -283,23 +283,7 @@ class FeedPanel extends PluginPanel public void mouseReleased(MouseEvent e) { avatarAndRight.setBackground(hoverColor); - - Desktop desktop = Desktop.getDesktop(); - - if (!desktop.isSupported(Desktop.Action.BROWSE)) - { - log.info("Desktop browser is not supported"); - return; - } - - try - { - desktop.browse(new URI(item.getUrl())); - } - catch (IOException | URISyntaxException ex) - { - log.warn("Unable to open URL " + item.getUrl(), ex); - } + linkBrowser.browse(item.getUrl()); } }); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java index 714ba106cd..170c96ddc5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java @@ -42,6 +42,7 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.task.Schedule; import net.runelite.client.ui.ClientUI; import net.runelite.client.ui.NavigationButton; +import net.runelite.client.util.LinkBrowser; import net.runelite.http.api.feed.FeedClient; import net.runelite.http.api.feed.FeedResult; @@ -61,6 +62,9 @@ public class FeedPlugin extends Plugin @Inject private ScheduledExecutorService executorService; + @Inject + private LinkBrowser linkBrowser; + private FeedPanel feedPanel; private NavigationButton navButton; @@ -81,7 +85,7 @@ public class FeedPlugin extends Plugin @Override protected void startUp() throws Exception { - feedPanel = new FeedPanel(config, feedSupplier); + feedPanel = new FeedPanel(config, feedSupplier, linkBrowser); navButton = new NavigationButton( "News Feed",