Update ScreenshotPlugin.java

This commit is contained in:
Kyle
2019-08-27 15:08:50 +01:00
committed by GitHub
parent c8296bf2ed
commit 3ac0bf2feb

View File

@@ -32,7 +32,10 @@ import com.google.inject.Provides;
import java.awt.Desktop; import java.awt.Desktop;
import java.awt.Graphics; import java.awt.Graphics;
import java.awt.Image; import java.awt.Image;
import java.awt.Toolkit;
import java.awt.TrayIcon; import java.awt.TrayIcon;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -98,7 +101,6 @@ import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.DrawManager; import net.runelite.client.ui.DrawManager;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.Clipboard;
import net.runelite.client.util.HotkeyListener; import net.runelite.client.util.HotkeyListener;
import net.runelite.client.util.ImageUtil; import net.runelite.client.util.ImageUtil;
import net.runelite.api.util.Text; import net.runelite.api.util.Text;
@@ -781,6 +783,13 @@ public class ScreenshotPlugin extends Plugin
} }
} }
/**
* Uploads a screenshot to the Imgur image-hosting service,
* and copies the image link to the clipboard.
*
* @param screenshotFile Image file to upload.
* @throws IOException Thrown if the file cannot be read.
*/
/** /**
* Uploads a screenshot to the Imgur image-hosting service, * Uploads a screenshot to the Imgur image-hosting service,
* and copies the image link to the clipboard. * and copies the image link to the clipboard.
@@ -792,19 +801,12 @@ public class ScreenshotPlugin extends Plugin
{ {
String json = RuneLiteAPI.GSON.toJson(new ImageUploadRequest(screenshotFile)); String json = RuneLiteAPI.GSON.toJson(new ImageUploadRequest(screenshotFile));
Request request = null; Request request = new Request.Builder()
if (IMGUR_IMAGE_UPLOAD_URL != null)
{
RequestBody body = RequestBody.Companion.create(json, JSON);
request = new Request.Builder()
.url(IMGUR_IMAGE_UPLOAD_URL) .url(IMGUR_IMAGE_UPLOAD_URL)
.addHeader("Authorization", "Client-ID " + IMGUR_CLIENT_ID) .addHeader("Authorization", "Client-ID " + IMGUR_CLIENT_ID)
.post(body) .post(RequestBody.create(JSON, json))
.build(); .build();
}
if (request != null)
{
RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback() RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback()
{ {
@Override @Override
@@ -825,7 +827,9 @@ public class ScreenshotPlugin extends Plugin
{ {
String link = imageUploadResponse.getData().getLink(); String link = imageUploadResponse.getData().getLink();
Clipboard.store(link); StringSelection selection = new StringSelection(link);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selection, selection);
if (notifyWhenTaken) if (notifyWhenTaken)
{ {
@@ -836,7 +840,6 @@ public class ScreenshotPlugin extends Plugin
} }
}); });
} }
}
@VisibleForTesting @VisibleForTesting
int getClueNumber() int getClueNumber()