import java.io.File;
import java.util.ArrayList;
+import java.util.TreeSet;
+
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import tim.prune.App;
-import tim.prune.Config;
+import tim.prune.config.Config;
+import tim.prune.data.Photo;
+import tim.prune.load.xml.GzipFileLoader;
import tim.prune.load.xml.XmlFileLoader;
import tim.prune.load.xml.ZipFileLoader;
private NmeaFileLoader _nmeaFileLoader = null;
private XmlFileLoader _xmlFileLoader = null;
private ZipFileLoader _zipFileLoader = null;
+ private GzipFileLoader _gzipFileLoader = null;
/**
_nmeaFileLoader = new NmeaFileLoader(inApp);
_xmlFileLoader = new XmlFileLoader(inApp);
_zipFileLoader = new ZipFileLoader(inApp, _xmlFileLoader);
+ _gzipFileLoader = new GzipFileLoader(inApp, _xmlFileLoader);
}
_fileChooser.addChoosableFileFilter(new GenericFileFilter("filetype.kml", new String[] {"kml"}));
_fileChooser.addChoosableFileFilter(new GenericFileFilter("filetype.kmz", new String[] {"kmz"}));
_fileChooser.setAcceptAllFileFilterUsed(true);
+ _fileChooser.setFileFilter(_fileChooser.getAcceptAllFileFilter()); // For some reason seems necessary
// start from directory in config if already set (by load jpegs)
String configDir = Config.getConfigString(Config.KEY_TRACK_DIR);
if (configDir == null) {configDir = Config.getConfigString(Config.KEY_PHOTO_DIR);}
}
// Check file type to see if it's xml or just normal text
String fileExtension = inFile.getName().toLowerCase();
- if (fileExtension.length() > 4)
- {fileExtension = fileExtension.substring(fileExtension.length() - 4);}
+ if (fileExtension.length() > 4) {
+ fileExtension = fileExtension.substring(fileExtension.length() - 4);
+ }
if (fileExtension.equals(".kml") || fileExtension.equals(".gpx")
|| fileExtension.equals(".xml"))
{
// Use zip loader for zipped kml (or zipped gpx)
_zipFileLoader.openFile(inFile);
}
+ else if (fileExtension.endsWith(".gz") || fileExtension.equals("gzip"))
+ {
+ // Use gzip loader for gzipped xml
+ _gzipFileLoader.openFile(inFile);
+ }
else if (fileExtension.equals("nmea"))
{
_nmeaFileLoader.openFile(inFile);
}
+ else if (fileExtension.equals(".jpg") || fileExtension.equals("jpeg"))
+ {
+ Photo photo = JpegLoader.createPhoto(inFile);
+ TreeSet<Photo> photoSet = new TreeSet<Photo>(new MediaSorter());
+ photoSet.add(photo);
+ _app.informPhotosLoaded(photoSet);
+ _app.informNoDataLoaded(); // To trigger load of next file if any
+ }
else
{
// Use text loader for everything else