package org.csdgn.cddatse;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import javax.swing.filechooser.FileSystemView;
public class Options {
public static File lastBrowsedDirectory = FileSystemView.getFileSystemView().getHomeDirectory();
public static File cataclysmDirectory = null;
public static boolean prettyPrint = true;
private static final String KEY_CATACLYSM_DIRECTORY = "cataclysm_dir";
private static final String KEY_PRETTY_PRINT = "pretty_print";
public static File getOptionsFile() {
return new File(AppToolkit.getLocalDirectory(), "options");
}
public static void load() {
Properties config = new Properties();
try {
config.load(new FileReader(getOptionsFile()));
} catch (IOException e) {
//ignore failure
}
String cdir = config.getProperty(KEY_CATACLYSM_DIRECTORY);
if(cdir != null) {
cataclysmDirectory = new File(cdir);
if(cataclysmDirectory.exists()) {
lastBrowsedDirectory = new File(cataclysmDirectory,"gfx");
} else {
cataclysmDirectory = null;
}
}
String pprint = config.getProperty(KEY_PRETTY_PRINT,"true");
prettyPrint = Boolean.parseBoolean(pprint);
}
public static void save() {
Properties config = new Properties();
if(cataclysmDirectory != null) {
config.setProperty(KEY_CATACLYSM_DIRECTORY, cataclysmDirectory.getAbsolutePath());
}
config.setProperty(KEY_PRETTY_PRINT, Boolean.toString(prettyPrint));
try {
config.store(new FileWriter(getOptionsFile()), null);
} catch (IOException e) {
//ignore failure
}
}
}