X-Git-Url: https://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Fundo%2FUndoDeleteRange.java;h=e2a76995ebb478ec868c9e4a8c68b8a9d4fcfed8;hp=04592aef43de183e7a2908eacf1ec17e9e2f552c;hb=ca9bdb3916f9c39adbbf95d06ac95c21dafbb4e6;hpb=63f178fd6c6b30b99a01f2a2d700963ea2dfef8b diff --git a/tim/prune/undo/UndoDeleteRange.java b/tim/prune/undo/UndoDeleteRange.java index 04592ae..e2a7699 100644 --- a/tim/prune/undo/UndoDeleteRange.java +++ b/tim/prune/undo/UndoDeleteRange.java @@ -13,6 +13,8 @@ public class UndoDeleteRange implements UndoOperation private int _startIndex = -1; private DataPoint[] _points = null; private PhotoList _photoList = null; + private DataPoint _nextTrackPoint = null; + private boolean _segmentStart = false; /** @@ -24,6 +26,11 @@ public class UndoDeleteRange implements UndoOperation _startIndex = inTrackInfo.getSelection().getStart(); _points = inTrackInfo.cloneSelectedRange(); _photoList = inTrackInfo.getPhotoList().cloneList(); + // Save segment flag of following track point + _nextTrackPoint = inTrackInfo.getTrack().getNextTrackPoint(_startIndex + _points.length); + if (_nextTrackPoint != null) { + _segmentStart = _nextTrackPoint.getSegmentStart(); + } } @@ -56,5 +63,9 @@ public class UndoDeleteRange implements UndoOperation } // restore point array into track inTrackInfo.getTrack().insertRange(_points, _startIndex); + // Restore segment flag of following track point + if (_nextTrackPoint != null) { + _nextTrackPoint.setSegmentStart(_segmentStart); + } } } \ No newline at end of file