mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
*Deck editors now use a single filechooser for import/export, one which filters out non-.dck files.
This commit is contained in:
@@ -4,6 +4,7 @@ import java.awt.event.FocusAdapter;
|
|||||||
import java.awt.event.FocusEvent;
|
import java.awt.event.FocusEvent;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
import javax.swing.filechooser.FileFilter;
|
||||||
import javax.swing.JFileChooser;
|
import javax.swing.JFileChooser;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
@@ -37,8 +38,20 @@ public enum CCurrentDeck implements ICDoc {
|
|||||||
|
|
||||||
private File openStartDir = ForgeProps.getFile(NewConstants.NEW_DECKS);
|
private File openStartDir = ForgeProps.getFile(NewConstants.NEW_DECKS);
|
||||||
|
|
||||||
|
private JFileChooser fileChooser = new JFileChooser("");
|
||||||
|
|
||||||
//========== Overridden methods
|
//========== Overridden methods
|
||||||
|
|
||||||
|
private CCurrentDeck() {
|
||||||
|
FileFilter[] defaultFilters = fileChooser.getChoosableFileFilters();
|
||||||
|
for(FileFilter defFilter : defaultFilters)
|
||||||
|
{
|
||||||
|
fileChooser.removeChoosableFileFilter(defFilter);
|
||||||
|
}
|
||||||
|
|
||||||
|
fileChooser.addChoosableFileFilter(DeckSerializer.DCK_FILTER);
|
||||||
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see forge.gui.framework.ICDoc#getCommandOnSelect()
|
* @see forge.gui.framework.ICDoc#getCommandOnSelect()
|
||||||
*/
|
*/
|
||||||
@@ -147,7 +160,7 @@ public enum CCurrentDeck implements ICDoc {
|
|||||||
|
|
||||||
final File file = this.getImportFilename();
|
final File file = this.getImportFilename();
|
||||||
|
|
||||||
if (file != null && file.getName().endsWith(".dck")) {
|
if (file != null) {
|
||||||
try {
|
try {
|
||||||
((DeckController<DeckBase>) CDeckEditorUI.SINGLETON_INSTANCE
|
((DeckController<DeckBase>) CDeckEditorUI.SINGLETON_INSTANCE
|
||||||
.getCurrentEditorController().getDeckController())
|
.getCurrentEditorController().getDeckController())
|
||||||
@@ -162,14 +175,14 @@ public enum CCurrentDeck implements ICDoc {
|
|||||||
|
|
||||||
/** */
|
/** */
|
||||||
private File getImportFilename() {
|
private File getImportFilename() {
|
||||||
final JFileChooser open = new JFileChooser(previousDirectory);
|
fileChooser.setDialogTitle("Import Deck");
|
||||||
open.setDialogTitle("Import Deck");
|
|
||||||
open.addChoosableFileFilter(DeckSerializer.DCK_FILTER);
|
fileChooser.setCurrentDirectory(openStartDir);
|
||||||
open.setCurrentDirectory(openStartDir);
|
|
||||||
final int returnVal = open.showOpenDialog(null);
|
final int returnVal = fileChooser.showOpenDialog(null);
|
||||||
|
|
||||||
if (returnVal == JFileChooser.APPROVE_OPTION) {
|
if (returnVal == JFileChooser.APPROVE_OPTION) {
|
||||||
final File file = open.getSelectedFile();
|
final File file = fileChooser.getSelectedFile();
|
||||||
previousDirectory = file.getParentFile();
|
previousDirectory = file.getParentFile();
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
@@ -213,13 +226,12 @@ public enum CCurrentDeck implements ICDoc {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private File getExportFilename() {
|
private File getExportFilename() {
|
||||||
final JFileChooser save = new JFileChooser(previousDirectory);
|
fileChooser.setDialogTitle("Export Deck");
|
||||||
save.setDialogTitle("Export Deck");
|
fileChooser.setDialogType(JFileChooser.SAVE_DIALOG);
|
||||||
save.setDialogType(JFileChooser.SAVE_DIALOG);
|
fileChooser.setCurrentDirectory(previousDirectory);
|
||||||
save.setFileFilter(DeckSerializer.DCK_FILTER);
|
|
||||||
|
|
||||||
if (save.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
|
if (fileChooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) {
|
||||||
final File file = save.getSelectedFile();
|
final File file = fileChooser.getSelectedFile();
|
||||||
final String check = file.getAbsolutePath();
|
final String check = file.getAbsolutePath();
|
||||||
|
|
||||||
previousDirectory = file.getParentFile();
|
previousDirectory = file.getParentFile();
|
||||||
|
|||||||
Reference in New Issue
Block a user