private static final int[] FORMAT_COORDS = {Coordinate.FORMAT_NONE, Coordinate.FORMAT_DEG_MIN_SEC,
Coordinate.FORMAT_DEG_MIN, Coordinate.FORMAT_DEG};
private static final Unit[] UNIT_ALTS = {null, UnitSetLibrary.UNITS_METRES, UnitSetLibrary.UNITS_FEET};
- private static final int[] FORMAT_TIMES = {Timestamp.FORMAT_ORIGINAL, Timestamp.FORMAT_LOCALE, Timestamp.FORMAT_ISO_8601};
+ private static final Timestamp.Format[] FORMAT_TIMES = {Timestamp.Format.ORIGINAL, Timestamp.Format.LOCALE, Timestamp.Format.ISO8601};
/**
_dialog.getContentPane().add(makeDialogComponents());
_dialog.pack();
}
+ // Has the track got media?
+ final boolean hasMedia = _app.getTrackInfo().getPhotoList().hasCorrelatedPhotos()
+ || _app.getTrackInfo().getAudioList().hasCorrelatedAudios();
// Check field list
Track track = _app.getTrackInfo().getTrack();
FieldList fieldList = track.getFieldList();
int numFields = fieldList.getNumFields();
- _model = new FieldSelectionTableModel(numFields);
+ _model = new FieldSelectionTableModel(numFields + (hasMedia ? 1 : 0));
for (int i=0; i<numFields; i++)
{
Field field = fieldList.getField(i);
FieldInfo info = new FieldInfo(field, track.hasData(field));
_model.addFieldInfo(info, i);
}
+ // Add a field for photos / audio if any present
+ if (hasMedia)
+ {
+ _model.addFieldInfo(new FieldInfo(Field.MEDIA_FILENAME, true), numFields);
+ }
// Initialise dialog and show it
initDialog(_model, inDefaultDelimiter);
_dialog.setVisible(true);
}
}
// Get timestamp format
- int timestampFormat = Timestamp.FORMAT_ORIGINAL;
+ Timestamp.Format timestampFormat = Timestamp.Format.ORIGINAL;
for (int i=0; i<_timestampUnitsRadios.length; i++)
{
if (_timestampUnitsRadios[i].isSelected()) {
* @param inTimestampFormat timestamp format
*/
private void saveField(StringBuffer inBuffer, DataPoint inPoint, Field inField,
- int inCoordFormat, Unit inAltitudeUnit, int inTimestampFormat)
+ int inCoordFormat, Unit inAltitudeUnit, Timestamp.Format inTimestampFormat)
{
// Output field according to type
if (inField == Field.LATITUDE)
{
if (inPoint.hasTimestamp())
{
- if (inTimestampFormat == Timestamp.FORMAT_ORIGINAL) {
- // output original string
- inBuffer.append(inPoint.getTimestamp().getText(Timestamp.FORMAT_ORIGINAL));
- }
- else {
- // format value accordingly
- inBuffer.append(inPoint.getTimestamp().getText(inTimestampFormat));
- }
+ // format value accordingly
+ inBuffer.append(inPoint.getTimestamp().getText(inTimestampFormat, null));
+ }
+ }
+ else if (inField == Field.MEDIA_FILENAME)
+ {
+ if (inPoint.hasMedia())
+ {
+ inBuffer.append(inPoint.getMediaName());
}
}
else