Index: trunk/src/org/openstreetmap/josm/actions/DownloadOsmInViewAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/DownloadOsmInViewAction.java	(revision 10816)
+++ trunk/src/org/openstreetmap/josm/actions/DownloadOsmInViewAction.java	(revision 10816)
@@ -0,0 +1,43 @@
+// License: GPL. For details, see LICENSE file.
+package org.openstreetmap.josm.actions;
+
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+import java.awt.event.ActionEvent;
+import java.util.concurrent.Future;
+
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask;
+import org.openstreetmap.josm.actions.downloadtasks.PostDownloadHandler;
+import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.io.OnlineResource;
+
+/**
+ * Action that downloads the OSM data within the current view from the server.
+ *
+ * No interaction is required.
+ */
+public final class DownloadOsmInViewAction extends JosmAction {
+
+    /**
+     * Creates a new {@code DownloadOsmInViewAction}.
+     */
+    public DownloadOsmInViewAction() {
+        super(tr("Download in current view"), "download_in_view", tr("Download map data from the OSM server in current view"), null, false,
+                "dialogs/download_in_view", true);
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        final Bounds bounds = Main.map.mapView.getRealBounds();
+        DownloadOsmTask task = new DownloadOsmTask();
+        Future<?> future = task.download(false, bounds, null);
+        Main.worker.submit(new PostDownloadHandler(task, future));
+    }
+
+    @Override
+    protected void updateEnabledState() {
+        setEnabled(Main.getLayerManager().getActiveLayer() != null
+                && !Main.isOffline(OnlineResource.OSM_API));
+    }
+}
Index: trunk/src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 10812)
+++ trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 10816)
@@ -44,4 +44,5 @@
 import org.openstreetmap.josm.actions.DownloadAction;
 import org.openstreetmap.josm.actions.DownloadNotesInViewAction;
+import org.openstreetmap.josm.actions.DownloadOsmInViewAction;
 import org.openstreetmap.josm.actions.DownloadPrimitiveAction;
 import org.openstreetmap.josm.actions.DownloadReferrersAction;
@@ -158,4 +159,6 @@
     /** File / Download from OSM... **/
     public final DownloadAction download = new DownloadAction();
+    /** File / Download in current view **/
+    public final DownloadOsmInViewAction downloadInView = new DownloadOsmInViewAction();
     /** File / Download from Overpass API... **/
     public final OverpassDownloadAction overpassDownload = new OverpassDownloadAction();
@@ -656,4 +659,5 @@
         fileMenu.addSeparator();
         add(fileMenu, download);
+        add(fileMenu, downloadInView, true);
         add(fileMenu, overpassDownload, true);
         add(fileMenu, downloadPrimitive);
