Add right click menu to screenshot button #797

- Add ability to open screenshot folder by right clicking the screenshot
  button. This partially fixes #797
This commit is contained in:
Jeremy Plsek
2018-03-08 16:54:35 -05:00
parent 683cef9b09
commit 3abe6f35df

View File

@@ -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);
});
}