X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fload%2FFileLoader.java;h=52bdef232942f0c5290d2c8160dccba45ce0ef92;hb=92dad5df664287acb51728e9ea599f150765d34a;hp=889f1d7933a6ec2357b07fd6c3b9b3ac3affebb9;hpb=112bb0c9b46894adca9a33ed8c99ea712b253185;p=GpsPrune.git diff --git a/tim/prune/load/FileLoader.java b/tim/prune/load/FileLoader.java index 889f1d7..52bdef2 100644 --- a/tim/prune/load/FileLoader.java +++ b/tim/prune/load/FileLoader.java @@ -2,11 +2,15 @@ package tim.prune.load; 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; @@ -24,6 +28,7 @@ public class FileLoader private NmeaFileLoader _nmeaFileLoader = null; private XmlFileLoader _xmlFileLoader = null; private ZipFileLoader _zipFileLoader = null; + private GzipFileLoader _gzipFileLoader = null; /** @@ -39,6 +44,7 @@ public class FileLoader _nmeaFileLoader = new NmeaFileLoader(inApp); _xmlFileLoader = new XmlFileLoader(inApp); _zipFileLoader = new ZipFileLoader(inApp, _xmlFileLoader); + _gzipFileLoader = new GzipFileLoader(inApp, _xmlFileLoader); } @@ -57,6 +63,7 @@ public class FileLoader _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);} @@ -104,8 +111,9 @@ public class FileLoader } // 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")) { @@ -117,10 +125,23 @@ public class FileLoader // 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 photoSet = new TreeSet(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