Index: /trunk/src/org/openstreetmap/josm/actions/DownloadNotesInViewAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/DownloadNotesInViewAction.java	(revision 8212)
+++ /trunk/src/org/openstreetmap/josm/actions/DownloadNotesInViewAction.java	(revision 8212)
@@ -0,0 +1,46 @@
+// 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.DownloadNotesTask;
+import org.openstreetmap.josm.actions.downloadtasks.PostDownloadHandler;
+import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.io.OnlineResource;
+
+/**
+ * Action that downloads the notes within the current view from the server.
+ *
+ * No interaction is required.
+ */
+public class DownloadNotesInViewAction extends JosmAction {
+
+    private DownloadNotesInViewAction(String iconName) {
+        super(tr("Download notes in current view"), iconName, tr("Download notes in current view"), null, false);
+    }
+
+    public static DownloadNotesInViewAction newActionWithNoteIcon() {
+        return new DownloadNotesInViewAction("dialogs/notes/note_open");
+    }
+
+    public static DownloadNotesInViewAction newActionWithDownloadIcon() {
+        return new DownloadNotesInViewAction("download");
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        final Bounds bounds = Main.map.mapView.getRealBounds();
+        DownloadNotesTask task = new DownloadNotesTask();
+        Future<?> future = task.download(false, bounds, null);
+        Main.worker.submit(new PostDownloadHandler(task, future));
+    }
+
+    @Override
+    protected void updateEnabledState() {
+        setEnabled(Main.map != null && Main.map.mapView != null && !Main.isOffline(OnlineResource.OSM_API));
+    }
+}
Index: /trunk/src/org/openstreetmap/josm/gui/MainMenu.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 8211)
+++ /trunk/src/org/openstreetmap/josm/gui/MainMenu.java	(revision 8212)
@@ -52,4 +52,5 @@
 import org.openstreetmap.josm.actions.DistributeAction;
 import org.openstreetmap.josm.actions.DownloadAction;
+import org.openstreetmap.josm.actions.DownloadNotesInViewAction;
 import org.openstreetmap.josm.actions.DownloadPrimitiveAction;
 import org.openstreetmap.josm.actions.DownloadReferrersAction;
@@ -167,4 +168,6 @@
     /** File / Download object... **/
     public final DownloadPrimitiveAction downloadPrimitive = new DownloadPrimitiveAction();
+    /** File / Download notes in current view **/
+    public final DownloadNotesInViewAction downloadNotesInView = DownloadNotesInViewAction.newActionWithNoteIcon();
     /** File / Search Notes... **/
     public final SearchNotesDownloadAction searchNotes = new SearchNotesDownloadAction();
@@ -638,4 +641,5 @@
         add(fileMenu, downloadPrimitive);
         add(fileMenu, searchNotes);
+        add(fileMenu, downloadNotesInView);
         add(fileMenu, downloadReferrers);
         add(fileMenu, update);
Index: /trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java	(revision 8211)
+++ /trunk/src/org/openstreetmap/josm/gui/dialogs/NotesDialog.java	(revision 8212)
@@ -31,4 +31,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.DownloadNotesInViewAction;
 import org.openstreetmap.josm.actions.UploadNotesAction;
 import org.openstreetmap.josm.actions.mapmode.AddNoteAction;
@@ -78,4 +79,5 @@
     private final AddCommentAction addCommentAction;
     private final CloseAction closeAction;
+    private final DownloadNotesInViewAction downloadNotesInViewAction;
     private final NewAction newAction;
     private final ReopenAction reopenAction;
@@ -90,4 +92,5 @@
         addCommentAction = new AddCommentAction();
         closeAction = new CloseAction();
+        downloadNotesInViewAction = DownloadNotesInViewAction.newActionWithDownloadIcon();
         newAction = new NewAction();
         reopenAction = new ReopenAction();
@@ -132,4 +135,5 @@
 
         createLayout(pane, false, Arrays.asList(new SideButton[]{
+                new SideButton(downloadNotesInViewAction, false),
                 new SideButton(newAction, false),
                 new SideButton(addCommentAction, false),
