From 3abe6f35dffb7638b240c14d11fcaae78bbc92c6 Mon Sep 17 00:00:00 2001 From: Jeremy Plsek Date: Thu, 8 Mar 2018 16:54:35 -0500 Subject: [PATCH] Add right click menu to screenshot button #797 - Add ability to open screenshot folder by right clicking the screenshot button. This partially fixes #797 --- .../plugins/screenshot/ScreenshotPlugin.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java index e9e47d926c..fc74c9b871 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java @@ -28,6 +28,7 @@ import com.google.common.annotations.VisibleForTesting; import com.google.common.eventbus.Subscribe; import com.google.inject.Provides; import java.awt.Color; +import java.awt.Desktop; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Point; @@ -52,6 +53,8 @@ import java.util.regex.Pattern; import javax.imageio.ImageIO; import javax.inject.Inject; import javax.swing.JButton; +import javax.swing.JMenuItem; +import javax.swing.JPopupMenu; import javax.swing.SwingUtilities; import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; @@ -169,10 +172,32 @@ public class ScreenshotPlugin extends Plugin public void mouseClicked(MouseEvent e) { super.mouseClicked(e); - takeScreenshot(TIME_FORMAT.format(new Date()), client.getLocalPlayer() != null); + + if (SwingUtilities.isLeftMouseButton(e)) + { + takeScreenshot(TIME_FORMAT.format(new Date()), client.getLocalPlayer() != null); + } } }); + JPopupMenu popupMenu = new JPopupMenu(); + + JMenuItem folderItem = new JMenuItem("Open screenshot folder..."); + folderItem.addActionListener(e -> + { + try + { + Desktop.getDesktop().open(RuneLite.SCREENSHOT_DIR); + } + catch (IOException ex) + { + log.warn("Error opening screenshot directory", ex); + } + }); + popupMenu.add(folderItem); + + titleBarButton.setComponentPopupMenu(popupMenu); + clientUi.getTitleToolbar().addButton(titleBarButton, iconImage, invertedIconImage); }); }