X-Git-Url: http://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Ffunction%2FAddMapSourceDialog.java;h=52a8874cf100b355b8b0d6acac60215dcfe29202;hp=da1f15e8a951e0d6c258041e5872d5e84c799299;hb=7f5ed2be62905bd37717376dc22d09e5ea7edb4d;hpb=b361869e590bbca32664c16ac24d6296926594a5 diff --git a/tim/prune/function/AddMapSourceDialog.java b/tim/prune/function/AddMapSourceDialog.java index da1f15e..52a8874 100644 --- a/tim/prune/function/AddMapSourceDialog.java +++ b/tim/prune/function/AddMapSourceDialog.java @@ -105,9 +105,21 @@ public class AddMapSourceDialog KeyAdapter keyListener = new KeyAdapter() { public void keyReleased(KeyEvent e) { super.keyReleased(e); + if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { + _addDialog.dispose(); + } + else { + enableOK(); + } + } + }; + // Listener for any gui changes (to enable ok when anything changes on an edit) + ActionListener okEnabler = new ActionListener() { + public void actionPerformed(ActionEvent arg0) { enableOK(); } }; + // openstreetmap panel JPanel osmPanel = new JPanel(); osmPanel.setLayout(new BorderLayout()); @@ -144,6 +156,8 @@ public class AddMapSourceDialog radioGroup.add(_baseTypeRadios[i]); c.gridx = 2+i; c.weightx = 0.0; gbPanel.add(_baseTypeRadios[i], c); + // Each type radio needs listener to call enableOk() + _baseTypeRadios[i].addActionListener(okEnabler); } // Top layer @@ -161,6 +175,8 @@ public class AddMapSourceDialog radioGroup.add(_topTypeRadios[i]); c.gridx = 2+i; c.weightx = 0.0; gbPanel.add(_topTypeRadios[i], c); + // Each type radio needs listener to call enableOk() + _topTypeRadios[i].addActionListener(okEnabler); } // Max zoom c.gridx = 0; c.gridy = 3; @@ -169,6 +185,8 @@ public class AddMapSourceDialog for (int i=10; i<=20; i++) { _oZoomCombo.addItem("" + i); } + // zoom dropdown needs listener to call enableOk() + _oZoomCombo.addActionListener(okEnabler); c.gridx = 1; gbPanel.add(_oZoomCombo, c); osmPanel.add(gbPanel, BorderLayout.NORTH);