X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Fundo%2FUndoLoadPhotos.java;h=bb6a21176c48673f3a293115a97e6969fd98255e;hp=c08532d9ab9e01f9b4b819b5ccca88cf90f016ff;hb=5625a1abadb5f2ca5f017fe7dbda1d5141cb637b;hpb=23959e65a6a0d581e657b07186d18b7a1ac5afeb diff --git a/tim/prune/undo/UndoLoadPhotos.java b/tim/prune/undo/UndoLoadPhotos.java index c08532d..bb6a211 100644 --- a/tim/prune/undo/UndoLoadPhotos.java +++ b/tim/prune/undo/UndoLoadPhotos.java @@ -8,17 +8,19 @@ import tim.prune.data.TrackInfo; */ public class UndoLoadPhotos implements UndoOperation { - private int _numLoaded = -1; + private int _numPhotos = -1; + private int _numPoints = -1; - // TODO: Handle possibility of photos not having datapoints (yet) /** * Constructor - * @param inNumLoaded number of photos loaded + * @param inNumPhotos number of photos loaded + * @param inNumPoints number of points loaded */ - public UndoLoadPhotos(int inNumLoaded) + public UndoLoadPhotos(int inNumPhotos, int inNumPoints) { - _numLoaded = inNumLoaded; + _numPhotos = inNumPhotos; + _numPoints = inNumPoints; } @@ -28,8 +30,8 @@ public class UndoLoadPhotos implements UndoOperation public String getDescription() { String desc = I18nManager.getText("undo.loadphotos"); - if (_numLoaded > 0) - desc = desc + " (" + _numLoaded + ")"; + if (_numPhotos > 0) + desc = desc + " (" + _numPhotos + ")"; return desc; } @@ -41,12 +43,15 @@ public class UndoLoadPhotos implements UndoOperation */ public void performUndo(TrackInfo inTrackInfo) throws UndoException { + int cropIndex; // crop track to previous size - int cropIndex = inTrackInfo.getTrack().getNumPoints() - _numLoaded; - inTrackInfo.getTrack().cropTo(cropIndex); + if (_numPoints > 0) + { + cropIndex = inTrackInfo.getTrack().getNumPoints() - _numPoints; + inTrackInfo.getTrack().cropTo(cropIndex); + } // crop photo list to previous size - // (currently it is assumed that the number of points is the same as number of photos) - cropIndex = inTrackInfo.getPhotoList().getNumPhotos() - _numLoaded; + cropIndex = inTrackInfo.getPhotoList().getNumPhotos() - _numPhotos; inTrackInfo.getPhotoList().cropTo(cropIndex); // clear selection inTrackInfo.getSelection().clearAll();