mirror of
https://github.com/correl/mage.git
synced 2025-04-02 03:18:09 -09:00
Merge branch 'master' of https://github.com/magefree/mage.git
This commit is contained in:
commit
a710e73532
5 changed files with 73 additions and 22 deletions
Mage.Client/src/main/java
mage/client/dialog
org/mage/plugins/card
|
@ -483,7 +483,7 @@
|
|||
</Group>
|
||||
<Group type="102" alignment="0" attributes="0">
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="checkForNewImages1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="saveToZipFiles" min="-2" max="-2" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
<EmptySpace max="32767" attributes="0"/>
|
||||
|
@ -503,7 +503,7 @@
|
|||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||
<Component id="checkForNewImages" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace max="-2" attributes="0"/>
|
||||
<Component id="checkForNewImages1" min="-2" max="-2" attributes="0"/>
|
||||
<Component id="saveToZipFiles" min="-2" max="-2" attributes="0"/>
|
||||
<EmptySpace pref="22" max="32767" attributes="0"/>
|
||||
</Group>
|
||||
</Group>
|
||||
|
@ -536,12 +536,12 @@
|
|||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkForNewImagesActionPerformed"/>
|
||||
</Events>
|
||||
</Component>
|
||||
<Component class="javax.swing.JCheckBox" name="checkForNewImages1">
|
||||
<Component class="javax.swing.JCheckBox" name="saveToZipFiles">
|
||||
<Properties>
|
||||
<Property name="text" type="java.lang.String" value="store in zip files"/>
|
||||
</Properties>
|
||||
<Events>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="checkForNewImages1ActionPerformed"/>
|
||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="saveToZipFilesActionPerformed"/>
|
||||
</Events>
|
||||
</Component>
|
||||
</SubComponents>
|
||||
|
|
|
@ -69,6 +69,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
public static final String KEY_CARD_IMAGES_USE_DEFAULT = "cardImagesUseDefault";
|
||||
public static final String KEY_CARD_IMAGES_PATH = "cardImagesPath";
|
||||
public static final String KEY_CARD_IMAGES_CHECK = "cardImagesCheck";
|
||||
public static final String KEY_CARD_IMAGES_SAVE_TO_ZIP = "cardImagesSaveToZip";
|
||||
public static final String KEY_BIG_CARD_TOGGLED = "bigCardToggled";
|
||||
|
||||
public static final String KEY_PROXY_ADDRESS = "proxyAddress";
|
||||
|
@ -173,7 +174,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
imageFolderPath = new javax.swing.JTextField();
|
||||
browseButton = new javax.swing.JButton();
|
||||
checkForNewImages = new javax.swing.JCheckBox();
|
||||
checkForNewImages1 = new javax.swing.JCheckBox();
|
||||
saveToZipFiles = new javax.swing.JCheckBox();
|
||||
jPanel6 = new javax.swing.JPanel();
|
||||
lblProxyType = new javax.swing.JLabel();
|
||||
cbProxyType = new javax.swing.JComboBox();
|
||||
|
@ -451,10 +452,10 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
}
|
||||
});
|
||||
|
||||
checkForNewImages1.setText("store in zip files");
|
||||
checkForNewImages1.addActionListener(new java.awt.event.ActionListener() {
|
||||
saveToZipFiles.setText("store in zip files");
|
||||
saveToZipFiles.addActionListener(new java.awt.event.ActionListener() {
|
||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||
checkForNewImages1ActionPerformed(evt);
|
||||
saveToZipFilesActionPerformed(evt);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -477,7 +478,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
.addComponent(checkForNewImages))
|
||||
.addGroup(jPanel5Layout.createSequentialGroup()
|
||||
.addContainerGap()
|
||||
.addComponent(checkForNewImages1)))
|
||||
.addComponent(saveToZipFiles)))
|
||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||
);
|
||||
jPanel5Layout.setVerticalGroup(
|
||||
|
@ -492,7 +493,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||
.addComponent(checkForNewImages)
|
||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||
.addComponent(checkForNewImages1)
|
||||
.addComponent(saveToZipFiles)
|
||||
.addContainerGap(22, Short.MAX_VALUE))
|
||||
);
|
||||
|
||||
|
@ -981,6 +982,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
|
||||
// images
|
||||
saveImagesPath(prefs);
|
||||
saveSaveToZipOption(prefs);
|
||||
|
||||
try {
|
||||
prefs.flush();
|
||||
|
@ -1048,9 +1050,9 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
private void rememberPswdActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_rememberPswdActionPerformed
|
||||
}//GEN-LAST:event_rememberPswdActionPerformed
|
||||
|
||||
private void checkForNewImages1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkForNewImages1ActionPerformed
|
||||
private void saveToZipFilesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveToZipFilesActionPerformed
|
||||
// TODO add your handling code here:
|
||||
}//GEN-LAST:event_checkForNewImages1ActionPerformed
|
||||
}//GEN-LAST:event_saveToZipFilesActionPerformed
|
||||
|
||||
private void checkForNewImagesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_checkForNewImagesActionPerformed
|
||||
// TODO add your handling code here:
|
||||
|
@ -1101,6 +1103,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
|
||||
// Images
|
||||
loadImagesPath(prefs);
|
||||
loadSaveToZip(prefs);
|
||||
|
||||
// open specified tab before displaying
|
||||
openTab(openedTab);
|
||||
|
@ -1193,7 +1196,13 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
updateCache(KEY_CARD_IMAGES_CHECK, Boolean.toString(dialog.checkForNewImages.isSelected()));
|
||||
}
|
||||
|
||||
private static void saveImagesPath(Preferences prefs) {
|
||||
private static void loadSaveToZip(Preferences prefs) {
|
||||
String prop = prefs.get(KEY_CARD_IMAGES_SAVE_TO_ZIP, "false");
|
||||
dialog.checkForNewImages.setSelected(prop.equals("true"));
|
||||
updateCache(KEY_CARD_IMAGES_SAVE_TO_ZIP, Boolean.toString(dialog.saveToZipFiles.isSelected()));
|
||||
}
|
||||
|
||||
private static void saveImagesPath(Preferences prefs) {
|
||||
if (dialog.useDefaultImageFolder.isSelected()) {
|
||||
prefs.put(KEY_CARD_IMAGES_USE_DEFAULT, "true");
|
||||
updateCache(KEY_CARD_IMAGES_USE_DEFAULT, "true");
|
||||
|
@ -1208,6 +1217,15 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
updateCache(KEY_CARD_IMAGES_CHECK, Boolean.toString(dialog.checkForNewImages.isSelected()));
|
||||
}
|
||||
|
||||
private static void saveSaveToZipOption(Preferences prefs) {
|
||||
prefs.put(KEY_CARD_IMAGES_SAVE_TO_ZIP, Boolean.toString(dialog.saveToZipFiles.isSelected()));
|
||||
updateCache(KEY_CARD_IMAGES_SAVE_TO_ZIP, Boolean.toString(dialog.saveToZipFiles.isSelected()));
|
||||
}
|
||||
|
||||
public static boolean isSaveImagesToZip() {
|
||||
return PreferencesDialog.getCachedValue(PreferencesDialog.KEY_CARD_IMAGES_SAVE_TO_ZIP, "false").equals("true");
|
||||
}
|
||||
|
||||
private static void load(Preferences prefs, JCheckBox checkBox, String propName, String yesValue) {
|
||||
String prop = prefs.get(propName, yesValue);
|
||||
checkBox.setSelected(prop.equals(yesValue));
|
||||
|
@ -1367,7 +1385,6 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
private javax.swing.JCheckBox checkBoxUpkeepOthers;
|
||||
private javax.swing.JCheckBox checkBoxUpkeepYou;
|
||||
private javax.swing.JCheckBox checkForNewImages;
|
||||
private javax.swing.JCheckBox checkForNewImages1;
|
||||
private javax.swing.JCheckBox displayBigCardsInHand;
|
||||
private javax.swing.JButton exitButton;
|
||||
private javax.swing.JTextField imageFolderPath;
|
||||
|
@ -1417,6 +1434,7 @@ public class PreferencesDialog extends javax.swing.JDialog {
|
|||
private javax.swing.JPanel pnlProxySettings;
|
||||
private javax.swing.JCheckBox rememberPswd;
|
||||
private javax.swing.JButton saveButton;
|
||||
private javax.swing.JCheckBox saveToZipFiles;
|
||||
private javax.swing.JCheckBox showToolTipsInAnyZone;
|
||||
private javax.swing.JPasswordField txtPasswordField;
|
||||
private javax.swing.JTextField txtProxyPort;
|
||||
|
|
|
@ -457,6 +457,9 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
|
|||
File temporaryFile = new File(Constants.IO.imageBaseDir + File.separator + card.hashCode() + "." + card.getName() + ".jpg");
|
||||
String imagePath = CardImageUtils.getImagePath(card, imagesPath);
|
||||
TFile outputFile = new TFile(imagePath);
|
||||
if (!outputFile.exists()) {
|
||||
outputFile.getParentFile().mkdirs();
|
||||
}
|
||||
File existingFile = new File(imagePath.replaceFirst("\\w{3}.zip", ""));
|
||||
if (existingFile.exists()) {
|
||||
new TFile(existingFile).cp_rp(outputFile);
|
||||
|
|
|
@ -7,16 +7,18 @@ import com.mortennobel.imagescaling.ResampleOp;
|
|||
import de.schlichtherle.truezip.file.TFile;
|
||||
import de.schlichtherle.truezip.file.TFileInputStream;
|
||||
import de.schlichtherle.truezip.file.TFileOutputStream;
|
||||
import mage.client.dialog.PreferencesDialog;
|
||||
import mage.view.CardView;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.plugins.card.constants.Constants;
|
||||
import org.mage.plugins.card.utils.CardImageUtils;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import java.awt.*;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import javax.imageio.ImageIO;
|
||||
import mage.view.CardView;
|
||||
import org.apache.log4j.Logger;
|
||||
import org.mage.plugins.card.constants.Constants;
|
||||
import org.mage.plugins.card.utils.CardImageUtils;
|
||||
|
||||
/**
|
||||
* This class stores ALL card images in a cache with soft values. this means
|
||||
|
@ -76,7 +78,7 @@ public class ImageCache {
|
|||
TFile file = new TFile(path);
|
||||
|
||||
if (thumbnail && path.endsWith(".jpg")) {
|
||||
String thumbnailPath = path.replace(".zip", ".thumb.zip");
|
||||
String thumbnailPath = buildThumbnailPath(path);
|
||||
TFile thumbnailFile = new TFile(thumbnailPath);
|
||||
if (thumbnailFile.exists()) {
|
||||
//log.debug("loading thumbnail for " + key + ", path="+thumbnailPath);
|
||||
|
@ -107,6 +109,16 @@ public class ImageCache {
|
|||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static String buildThumbnailPath(String path) {
|
||||
String thumbnailPath;
|
||||
if (PreferencesDialog.isSaveImagesToZip()) {
|
||||
thumbnailPath = path.replace(".zip", ".thumb.zip");
|
||||
} else {
|
||||
thumbnailPath = path.replace(".jpg", ".thumb.jpg");
|
||||
}
|
||||
return thumbnailPath;
|
||||
}
|
||||
|
||||
public static BufferedImage getWizardsCard(BufferedImage image) {
|
||||
if (image.getWidth() == 265 && image.getHeight() == 370) {
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
package org.mage.plugins.card.utils;
|
||||
|
||||
import de.schlichtherle.truezip.file.TFile;
|
||||
import java.util.HashMap;
|
||||
import java.util.regex.Pattern;
|
||||
import mage.client.dialog.PreferencesDialog;
|
||||
import org.mage.plugins.card.constants.Constants;
|
||||
import org.mage.plugins.card.images.CardInfo;
|
||||
import org.mage.plugins.card.properties.SettingsManager;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class CardImageUtils {
|
||||
|
||||
private static final Pattern basicLandPattern = Pattern.compile("^(Forest|Mountain|Swamp|Island|Plains)$");
|
||||
|
@ -104,9 +106,25 @@ public class CardImageUtils {
|
|||
String set = updateSet(card.getSet(), false).toUpperCase();
|
||||
String imagesDir = (imagesPath != null ? imagesPath : Constants.IO.imageBaseDir);
|
||||
if (card.isToken()) {
|
||||
return buildTokenPath(imagesDir, set);
|
||||
} else {
|
||||
return buildPath(imagesDir, set);
|
||||
}
|
||||
}
|
||||
|
||||
private static String buildTokenPath(String imagesDir, String set) {
|
||||
if (PreferencesDialog.isSaveImagesToZip()) {
|
||||
return imagesDir + TFile.separator + "TOK" + ".zip" + TFile.separator + set;
|
||||
} else {
|
||||
return imagesDir + TFile.separator + "TOK" + TFile.separator + set;
|
||||
}
|
||||
}
|
||||
|
||||
private static String buildPath(String imagesDir, String set) {
|
||||
if (PreferencesDialog.isSaveImagesToZip()) {
|
||||
return imagesDir + TFile.separator + set + ".zip" + TFile.separator + set;
|
||||
} else {
|
||||
return imagesDir + TFile.separator + set;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue