]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/undo/UndoDeleteRange.java
Version 5, May 2008
[GpsPrune.git] / tim / prune / undo / UndoDeleteRange.java
index 04592aef43de183e7a2908eacf1ec17e9e2f552c..e2a76995ebb478ec868c9e4a8c68b8a9d4fcfed8 100644 (file)
@@ -13,6 +13,8 @@ public class UndoDeleteRange implements UndoOperation
        private int _startIndex = -1;\r
        private DataPoint[] _points = null;\r
        private PhotoList _photoList = null;\r
+       private DataPoint _nextTrackPoint = null;\r
+       private boolean _segmentStart = false;\r
 \r
 \r
        /**\r
@@ -24,6 +26,11 @@ public class UndoDeleteRange implements UndoOperation
                _startIndex = inTrackInfo.getSelection().getStart();\r
                _points = inTrackInfo.cloneSelectedRange();\r
                _photoList = inTrackInfo.getPhotoList().cloneList();\r
+               // Save segment flag of following track point\r
+               _nextTrackPoint = inTrackInfo.getTrack().getNextTrackPoint(_startIndex + _points.length);\r
+               if (_nextTrackPoint != null) {\r
+                       _segmentStart = _nextTrackPoint.getSegmentStart();\r
+               }\r
        }\r
 \r
 \r
@@ -56,5 +63,9 @@ public class UndoDeleteRange implements UndoOperation
                }\r
                // restore point array into track\r
                inTrackInfo.getTrack().insertRange(_points, _startIndex);\r
+               // Restore segment flag of following track point\r
+               if (_nextTrackPoint != null) {\r
+                       _nextTrackPoint.setSegmentStart(_segmentStart);\r
+               }\r
        }\r
 }
\ No newline at end of file