diff options
| author | NopoTheGamer <40329022+NopoTheGamer@users.noreply.github.com> | 2024-07-08 23:40:46 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-07-08 15:40:46 +0200 |
| commit | d929b60c6817be79a85513635a733384567217bd (patch) | |
| tree | be5e5d3d7ddde7ddc4820e5f2eec4d8255ef75bc /src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java | |
| parent | 24b755c74439ec10860402c34b83e0ec9bb90c28 (diff) | |
| download | notenoughupdates-d929b60c6817be79a85513635a733384567217bd.tar.gz notenoughupdates-d929b60c6817be79a85513635a733384567217bd.tar.bz2 notenoughupdates-d929b60c6817be79a85513635a733384567217bd.zip | |
meta: Add clipboard caching (#1229)
Diffstat (limited to 'src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java')
| -rw-r--r-- | src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java index 2e3c7dce..e6125101 100644 --- a/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java +++ b/src/main/java/io/github/moulberry/notenoughupdates/miscgui/GuiInvButtonEditor.java @@ -45,10 +45,6 @@ import net.minecraft.util.ResourceLocation; import org.lwjgl.input.Mouse; import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.awt.datatransfer.DataFlavor; -import java.awt.datatransfer.StringSelection; -import java.awt.datatransfer.UnsupportedFlavorException; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -680,19 +676,16 @@ public class GuiInvButtonEditor extends GuiScreen { } private boolean validShareContents() { - try { - String base64 = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor); + String base64 = Utils.getClipboard(); + if (base64 == null) return false; - if (base64.length() <= sharePrefix.length()) return false; + if (base64.length() <= sharePrefix.length()) return false; - base64 = base64.trim(); + base64 = base64.trim(); - try { - return new String(Base64.getDecoder().decode(base64)).startsWith(sharePrefix); - } catch (IllegalArgumentException e) { - return false; - } - } catch (HeadlessException | IOException | UnsupportedFlavorException | IllegalStateException e) { + try { + return new String(Base64.getDecoder().decode(base64)).startsWith(sharePrefix); + } catch (IllegalArgumentException e) { return false; } } @@ -806,13 +799,8 @@ public class GuiInvButtonEditor extends GuiScreen { if (mouseX > guiLeft - 2 - 88 - 22 && mouseX < guiLeft - 2 - 22) { if (mouseY > guiTop + 2 && mouseY < guiTop + 22) { - String base64; - - try { - base64 = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor); - } catch (HeadlessException | IOException | UnsupportedFlavorException e) { - return; - } + String base64 = Utils.getClipboard(); + if (base64 == null) return; if (base64.length() <= sharePrefix.length()) return; @@ -871,7 +859,7 @@ public class GuiInvButtonEditor extends GuiScreen { } String base64String = Base64.getEncoder().encodeToString((sharePrefix + jsonArray).getBytes(StandardCharsets.UTF_8)); - Toolkit.getDefaultToolkit().getSystemClipboard().setContents(new StringSelection(base64String), null); + Utils.copyToClipboard(base64String); return; } } |
