Index: /trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 14105)
+++ /trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java	(revision 14106)
@@ -208,4 +208,5 @@
         InputMapUtils.addEnterActionWhenAncestor(cbStartup, btnDownload.getAction());
         InputMapUtils.addEnterActionWhenAncestor(cbZoomToDownloadedData, btnDownload.getAction());
+        InputMapUtils.addCtrlEnterAction(pnl, btnDownload.getAction());
 
         return pnl;
Index: /trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 14105)
+++ /trunk/src/org/openstreetmap/josm/gui/io/UploadDialog.java	(revision 14106)
@@ -12,6 +12,4 @@
 import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
-import java.awt.event.InputEvent;
-import java.awt.event.KeyEvent;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
@@ -31,13 +29,10 @@
 
 import javax.swing.AbstractAction;
-import javax.swing.Action;
 import javax.swing.BorderFactory;
 import javax.swing.Icon;
 import javax.swing.JButton;
-import javax.swing.JComponent;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JTabbedPane;
-import javax.swing.KeyStroke;
 
 import org.openstreetmap.josm.Main;
@@ -188,5 +183,5 @@
         btnUpload.setFocusable(true);
         InputMapUtils.enableEnter(btnUpload);
-        bindCtrlEnterToAction(getRootPane(), btnUpload.getAction());
+        InputMapUtils.addCtrlEnterAction(getRootPane(), btnUpload.getAction());
 
         // -- cancel button
@@ -489,5 +484,5 @@
                 public void setupDialog() {
                     super.setupDialog();
-                    bindCtrlEnterToAction(getRootPane(), buttons.get(buttons.size() - 1).getAction());
+                    InputMapUtils.addCtrlEnterAction(getRootPane(), buttons.get(buttons.size() - 1).getAction());
                 }
             };
@@ -703,8 +698,3 @@
     }
 
-    private static void bindCtrlEnterToAction(JComponent component, Action actionToBind) {
-        final KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, InputEvent.CTRL_DOWN_MASK);
-        component.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(stroke, "ctrl_enter");
-        component.getActionMap().put("ctrl_enter", actionToBind);
-    }
 }
Index: /trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java	(revision 14105)
+++ /trunk/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java	(revision 14106)
@@ -67,9 +67,11 @@
         JPanel btns = new JPanel(new FlowLayout(FlowLayout.CENTER));
         btns.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
-        btns.add(new JButton(new OKAction()));
+        OKAction okAction = new OKAction();
+        btns.add(new JButton(okAction));
         btns.add(new JButton(new CancelAction()));
         btns.add(new JButton(helpAction));
         pnl.add(expert, GBC.std().insets(5, 0, 0, 0));
         pnl.add(btns, GBC.std().fill(GBC.HORIZONTAL));
+        InputMapUtils.addCtrlEnterAction(pnl, okAction);
         return pnl;
     }
Index: /trunk/src/org/openstreetmap/josm/tools/InputMapUtils.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/InputMapUtils.java	(revision 14105)
+++ /trunk/src/org/openstreetmap/josm/tools/InputMapUtils.java	(revision 14106)
@@ -117,3 +117,15 @@
          c.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "escape");
     }
+
+    /**
+     * Add an action activated with Ctrl+Enter key on a component.
+     * @param c The Swing component
+     * @param a action activated with Ctrl+Enter key
+     * @see JComponent#WHEN_IN_FOCUSED_WINDOW
+     */
+    public static void addCtrlEnterAction(JComponent c, Action a) {
+        final KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, InputEvent.CTRL_DOWN_MASK);
+        c.getActionMap().put("ctrl_enter", a);
+        c.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(stroke, "ctrl_enter");
+    }
 }
