From e72da7f4edaf053c1d68466a410cd14d0b87c151 Mon Sep 17 00:00:00 2001 From: North Date: Sat, 24 Sep 2011 22:37:03 +0300 Subject: [PATCH] Fixes issue 260. Fixes download issue from magiccards.info (optimized CPU usage too). --- .../mage/plugins/card/images/CardInfo.java | 9 ++++ .../plugins/card/images/DownloadPictures.java | 53 ++++++------------- 2 files changed, 26 insertions(+), 36 deletions(-) diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/images/CardInfo.java b/Mage.Client/src/main/java/org/mage/plugins/card/images/CardInfo.java index 254755c5317..7c512d2b6c0 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/images/CardInfo.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/images/CardInfo.java @@ -7,6 +7,7 @@ package org.mage.plugins.card.images; public class CardInfo { private String name; + private String downloadName; private String set; private Integer collectorId; private boolean token; @@ -126,4 +127,12 @@ public class CardInfo { public boolean isSecondSide() { return secondSide; } + + public String getDownloadName() { + return downloadName == null ? name : downloadName; + } + + public void setDownloadName(String downloadName) { + this.downloadName = downloadName; + } } diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPictures.java b/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPictures.java index 9a971012a30..a6651e16656 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPictures.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/images/DownloadPictures.java @@ -43,8 +43,6 @@ import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JProgressBar; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; import mage.cards.Card; @@ -61,8 +59,6 @@ import org.mage.plugins.card.utils.CardImageUtils; public class DownloadPictures extends DefaultBoundedRangeModel implements Runnable { - private int type; - //private JTextField addr, port; private JProgressBar bar; private JOptionPane dlg; private boolean cancel; @@ -270,10 +266,10 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab for (Card card : allCards) { if (card.getCardNumber() > 0 && !card.getExpansionSetCode().isEmpty()) { String cardName = card.getName(); - if (cardName.equals("Forest") || cardName.equals("Swamp") || cardName.equals("Mountain") || cardName.equals("Island") || cardName.equals("Plains")) { - cardName = card.getClass().getName().replace(card.getClass().getPackage().getName() + ".", ""); - } CardInfo url = new CardInfo(cardName, card.getExpansionSetCode(), card.getCardNumber(), false, card.canTransform(), card.isNightCard()); + if (cardName.equals("Forest") || cardName.equals("Swamp") || cardName.equals("Mountain") || cardName.equals("Island") || cardName.equals("Plains")) { + url.setDownloadName(card.getClass().getName().replace(card.getClass().getPackage().getName() + ".", "")); + } allCardsUrls.add(url); if (card.canTransform()) { // add second side for downloading @@ -392,23 +388,6 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab } } - private class ProxyHandler implements ChangeListener { - private int type; - - public ProxyHandler(int type) { - this.type = type; - } - - @Override - public void stateChanged(ChangeEvent e) { - /*if (((AbstractButton) e.getSource()).isSelected()) { - DownloadPictures.this.type = type; - addr.setEnabled(type != 0); - port.setEnabled(type != 0); - }*/ - } - } - @Override public void run() { @@ -455,7 +434,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab } url = cardImageSource.generateTokenUrl(card.getName(), card.getSet()); } else { - url = cardImageSource.generateURL(card.getCollectorId(), card.getName(), card.getSet(), card.isTwoFacedCard(), card.isSecondSide()); + url = cardImageSource.generateURL(card.getCollectorId(), card.getDownloadName(), card.getSet(), card.isTwoFacedCard(), card.isSecondSide()); } if (url != null) { @@ -525,18 +504,20 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab out.flush(); out.close(); - BufferedImage image = ImageIO.read(fileOut); - if (image.getHeight() == 470) { - BufferedImage renderedImage = new BufferedImage(265, 370, BufferedImage.TYPE_INT_RGB); - renderedImage.getGraphics(); - Graphics2D graphics2D = renderedImage.createGraphics(); - if (card.isTwoFacedCard() && card.isSecondSide()) { - graphics2D.drawImage(image, 0, 0, 265, 370, 313, 62, 578, 432, null); - } else { - graphics2D.drawImage(image, 0, 0, 265, 370, 41, 62, 306, 432, null); + if (card.isTwoFacedCard()) { + BufferedImage image = ImageIO.read(fileOut); + if (image.getHeight() == 470) { + BufferedImage renderedImage = new BufferedImage(265, 370, BufferedImage.TYPE_INT_RGB); + renderedImage.getGraphics(); + Graphics2D graphics2D = renderedImage.createGraphics(); + if (card.isTwoFacedCard() && card.isSecondSide()) { + graphics2D.drawImage(image, 0, 0, 265, 370, 313, 62, 578, 432, null); + } else { + graphics2D.drawImage(image, 0, 0, 265, 370, 41, 62, 306, 432, null); + } + graphics2D.dispose(); + writeImageToFile(renderedImage, fileOut); } - graphics2D.dispose(); - writeImageToFile(renderedImage, fileOut); } synchronized (sync) {