]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/function/PasteCoordinates.java
Version 15, March 2013
[GpsPrune.git] / tim / prune / function / PasteCoordinates.java
index 1106001ad3f10abaec76c3b17a73f24d4ac543fd..0228014deb4810f025ba3d340247fe4bc920004b 100644 (file)
@@ -8,6 +8,7 @@ import java.awt.event.ActionListener;
 import java.awt.event.KeyAdapter;
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
 
 import javax.swing.BorderFactory;
 import javax.swing.JButton;
@@ -28,6 +29,8 @@ import tim.prune.data.DataPoint;
 import tim.prune.data.Field;
 import tim.prune.data.Latitude;
 import tim.prune.data.Longitude;
+import tim.prune.data.Unit;
+import tim.prune.data.UnitSetLibrary;
 import tim.prune.gui.GuiGridLayout;
 
 /**
@@ -74,8 +77,8 @@ public class PasteCoordinates extends GenericFunction
                // MAYBE: Paste clipboard into the edit field
                _coordField.setText("");
                _nameField.setText("");
-               boolean metric = Config.getConfigBoolean(Config.KEY_METRIC_UNITS);
-               _altUnitsDropDown.setSelectedIndex(metric?0:1);
+               boolean useMetres = (Config.getUnitSet().getAltitudeUnit() == UnitSetLibrary.UNITS_METRES);
+               _altUnitsDropDown.setSelectedIndex(useMetres?0:1);
                enableOK();
                _dialog.setVisible(true);
        }
@@ -96,12 +99,15 @@ public class PasteCoordinates extends GenericFunction
                // Listeners to enable/disable ok button
                KeyAdapter keyListener = new KeyAdapter() {
                        /** Key released */
-                       public void keyReleased(KeyEvent arg0) {
+                       public void keyReleased(KeyEvent inE) {
                                enableOK();
+                               if (inE.getKeyCode() == KeyEvent.VK_ESCAPE) {
+                                       _dialog.dispose();
+                               }
                        }
                };
                MouseAdapter mouseListener = new MouseAdapter() {
-                       public void mouseReleased(java.awt.event.MouseEvent arg0) {
+                       public void mouseReleased(MouseEvent inE) {
                                enableOK();
                        };
                };
@@ -132,7 +138,7 @@ public class PasteCoordinates extends GenericFunction
                ActionListener okListener = new ActionListener() {
                        public void actionPerformed(ActionEvent e)
                        {
-                               finish();
+                               if (_okButton.isEnabled()) {finish();}
                        }
                };
                _okButton.addActionListener(okListener);
@@ -159,7 +165,7 @@ public class PasteCoordinates extends GenericFunction
        private void enableOK()
        {
                String text = _coordField.getText();
-               _okButton.setEnabled(text != null && text.length() > 10
+               _okButton.setEnabled(text != null && text.length() > 6
                        && (text.indexOf(' ') >= 0 || text.indexOf(',') >= 0));
        }
 
@@ -232,9 +238,9 @@ public class PasteCoordinates extends GenericFunction
                if (inValue3 != null)
                {
                        // Look at altitude units dropdown
-                       final Altitude.Format altFormat = (_altUnitsDropDown.getSelectedIndex()==0?
-                               Altitude.Format.METRES:Altitude.Format.FEET);
-                       alt = new Altitude(inValue3, altFormat);
+                       final Unit altUnit = (_altUnitsDropDown.getSelectedIndex()==0?
+                               UnitSetLibrary.UNITS_METRES : UnitSetLibrary.UNITS_FEET);
+                       alt = new Altitude(inValue3, altUnit);
                        if (!alt.isValid()) {alt = null;}
                }
                // See if value1 can be lat and value2 lon: