]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - src/tim/prune/function/edit/PointNameEditor.java
Duplicate point before converting it to waypoint
[GpsPrune.git] / src / tim / prune / function / edit / PointNameEditor.java
index 53e1f834b962fa8a098a9fc9345934dbdac3003f..9e6e343dc1357e3f0b9c753b4fd514cb21f20e1e 100644 (file)
@@ -206,7 +206,11 @@ public class PointNameEditor extends GenericFunction
                // Check whether name has really changed
                if (hasNameChanged())
                {
-                       // Make lists for edit and undo, and add the changed field
+                       // If a new name has been added, changing the point
+                       // from trackpoint to waypoint, duplicate it
+                       _app.createPoint(_point.clonePoint());
+                       
+                       // make lists for edit and undo, and add the changed field
                        FieldEditList editList = new FieldEditList();
                        FieldEditList undoList = new FieldEditList();
                        editList.addEdit(new FieldEdit(Field.WAYPT_NAME, _nameField.getText().trim()));
@@ -231,4 +235,17 @@ public class PointNameEditor extends GenericFunction
                        || (!prevNull && newNull)
                        || (!prevNull && !newNull && !prevName.equals(newName));
        }
+
+       /**
+        * Check whether a new name has been added
+        * @return true if it has indeed
+        */
+       private boolean wasNameAdded()
+       {
+               String prevName = _point.getWaypointName();
+               String newName = _nameField.getText().trim();
+               boolean prevNull = (prevName == null || prevName.equals(""));
+               boolean newNull = (newName == null || newName.equals(""));
+               return (prevNull && !newNull);
+       }
 }