X-Git-Url: https://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fsave%2FKmlExporter.java;h=9d1c0789b4f4d9a3e6820f5883b7f7235bac74ab;hb=92dad5df664287acb51728e9ea599f150765d34a;hp=6fbf7498bf4651e3445e00ae7f566703bc615cd1;hpb=7f5ed2be62905bd37717376dc22d09e5ea7edb4d;p=GpsPrune.git diff --git a/tim/prune/save/KmlExporter.java b/tim/prune/save/KmlExporter.java index 6fbf749..9d1c078 100644 --- a/tim/prune/save/KmlExporter.java +++ b/tim/prune/save/KmlExporter.java @@ -51,11 +51,11 @@ import tim.prune.data.Timestamp; import tim.prune.data.Track; import tim.prune.data.TrackInfo; import tim.prune.data.UnitSetLibrary; -import tim.prune.gui.ColourChooser; -import tim.prune.gui.ColourPatch; import tim.prune.gui.DialogCloser; import tim.prune.gui.ImageUtils; import tim.prune.gui.WholeNumberField; +import tim.prune.gui.colour.ColourChooser; +import tim.prune.gui.colour.ColourPatch; import tim.prune.load.GenericFileFilter; import tim.prune.save.xml.XmlUtils; @@ -483,7 +483,7 @@ public class KmlExporter extends GenericFunction implements Runnable inWriter.write("\n\t"); if (_descriptionField != null && _descriptionField.getText() != null && !_descriptionField.getText().equals("")) { - inWriter.write(_descriptionField.getText()); + inWriter.write(XmlUtils.fixCdata(_descriptionField.getText())); } else { inWriter.write("Export from GpsPrune"); @@ -525,7 +525,7 @@ public class KmlExporter extends GenericFunction implements Runnable } // Make a blob with description for each photo // Photos have already been written so picture sizes already known - if (point.getPhoto() != null && writePhotos && writeCurrentPoint) + if (point.getPhoto() != null && point.getPhoto().isValid() && writePhotos && writeCurrentPoint) { if (!writtenPhotoHeader) { @@ -562,7 +562,7 @@ public class KmlExporter extends GenericFunction implements Runnable numSaved += writeStandardTrack(inWriter, absoluteAltitudes, selStart, selEnd); } } - inWriter.write("\n"); + inWriter.write("\n\n"); return numSaved; } @@ -684,7 +684,7 @@ public class KmlExporter extends GenericFunction implements Runnable // Add timestamp (if any) to the list whenList.append(""); if (point.hasTimestamp()) { - whenList.append(point.getTimestamp().getText(Timestamp.FORMAT_ISO_8601)); + whenList.append(point.getTimestamp().getText(Timestamp.Format.ISO8601, null)); } whenList.append("\n"); // Add coordinates to the list @@ -799,7 +799,7 @@ public class KmlExporter extends GenericFunction implements Runnable throws IOException { inWriter.write("\t\n\t\t"); - inWriter.write(inName); + inWriter.write(XmlUtils.fixCdata(inName)); inWriter.write("\n"); if (inDesc != null) { @@ -876,21 +876,21 @@ public class KmlExporter extends GenericFunction implements Runnable ImageWriter imageWriter = writers.next(); // Check selection checkbox - boolean justSelection = _pointTypeSelector.getJustSelection(); + final boolean justSelection = _pointTypeSelector.getJustSelection(); int selStart = -1, selEnd = -1; if (justSelection) { selStart = _trackInfo.getSelection().getStart(); selEnd = _trackInfo.getSelection().getEnd(); } - int numPoints = _track.getNumPoints(); + final int numPoints = _track.getNumPoints(); DataPoint point = null; int photoNum = 0; // Loop over all points in track for (int i=0; i=selStart && i<=selEnd))) + if (point.getPhoto() != null && point.getPhoto().isValid() && (!justSelection || (i>=selStart && i<=selEnd))) { photoNum++; // Make a new entry in zip file