From baeb9d8b0089d733cea0b941a02e9aa6e6707476 Mon Sep 17 00:00:00 2001 From: John Hitchings Date: Thu, 8 Nov 2018 09:25:03 -0800 Subject: [PATCH] Prepopulate DeckImportFromClipboardDialog content with string contents of clipboard. --- .../deckeditor/DeckImportFromClipboardDialog.java | 15 +++++++++++++++ .../cards/decks/importer/DeckImporterUtil.java | 4 +++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Mage.Client/src/main/java/mage/client/deckeditor/DeckImportFromClipboardDialog.java b/Mage.Client/src/main/java/mage/client/deckeditor/DeckImportFromClipboardDialog.java index eef1987dfaa..6c890632173 100644 --- a/Mage.Client/src/main/java/mage/client/deckeditor/DeckImportFromClipboardDialog.java +++ b/Mage.Client/src/main/java/mage/client/deckeditor/DeckImportFromClipboardDialog.java @@ -3,11 +3,15 @@ package mage.client.deckeditor; import mage.util.StreamUtils; import java.awt.*; +import java.awt.datatransfer.DataFlavor; +import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.*; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.util.Optional; + import javax.swing.*; public class DeckImportFromClipboardDialog extends JDialog { @@ -38,6 +42,17 @@ public class DeckImportFromClipboardDialog extends JDialog { // Close on "ESC" contentPane.registerKeyboardAction(e -> onCancel(), KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + + getClipboardStringData().ifPresent(content -> txtDeckList.setText(content)); + } + + private Optional getClipboardStringData() { + try { + return Optional.of((String)Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor)); + } catch (HeadlessException | UnsupportedFlavorException | IOException e) { + e.printStackTrace(); + } + return Optional.empty(); } private void onOK() { diff --git a/Mage/src/main/java/mage/cards/decks/importer/DeckImporterUtil.java b/Mage/src/main/java/mage/cards/decks/importer/DeckImporterUtil.java index a0e90dc5261..0384a17f44c 100644 --- a/Mage/src/main/java/mage/cards/decks/importer/DeckImporterUtil.java +++ b/Mage/src/main/java/mage/cards/decks/importer/DeckImporterUtil.java @@ -39,7 +39,9 @@ public final class DeckImporterUtil { } public static DeckImporter getDeckImporter(String file) { - if (file.toLowerCase(Locale.ENGLISH).endsWith("dec")) { + if (file == null) { + return null; + } if (file.toLowerCase(Locale.ENGLISH).endsWith("dec")) { return new DecDeckImporter(); } else if (file.toLowerCase(Locale.ENGLISH).endsWith("mwdeck")) { return new MWSDeckImporter();