source: josm/trunk/src/org/openstreetmap/josm/actions/DownloadOsmInViewAction.java

Last change on this file was 19050, checked in by taylor.smock, 5 months ago

Revert most var changes from r19048, fix most new compile warnings and checkstyle issues

Also, document why various ErrorProne checks were originally disabled and fix
generic SonarLint issues.

File size: 2.3 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionEvent;
7import java.awt.event.KeyEvent;
8import java.util.concurrent.Future;
9
10import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask;
11import org.openstreetmap.josm.actions.downloadtasks.DownloadParams;
12import org.openstreetmap.josm.actions.downloadtasks.PostDownloadHandler;
13import org.openstreetmap.josm.data.Bounds;
14import org.openstreetmap.josm.gui.MainApplication;
15import org.openstreetmap.josm.io.BoundingBoxDownloader;
16import org.openstreetmap.josm.io.NetworkManager;
17import org.openstreetmap.josm.io.OnlineResource;
18import org.openstreetmap.josm.tools.Shortcut;
19
20/**
21 * Action that downloads the OSM data within the current view from the server.
22 *
23 * No interaction is required.
24 */
25public final class DownloadOsmInViewAction extends JosmAction {
26
27 /**
28 * Creates a new {@code DownloadOsmInViewAction}.
29 */
30 public DownloadOsmInViewAction() {
31 super(tr("Download in current view"), "download_in_view", tr("Download map data from the OSM server in current view"),
32 Shortcut.registerShortcut("file:downloadosminview",
33 tr("File: {0}", tr("Download in current view")), KeyEvent.CHAR_UNDEFINED, Shortcut.NONE), false,
34 "dialogs/download_in_view", true);
35 }
36
37 @Override
38 public void actionPerformed(ActionEvent e) {
39 final Bounds bounds = MainApplication.getMap().mapView.getRealBounds();
40 DownloadOsmInViewTask task = new DownloadOsmInViewTask();
41 task.setZoomAfterDownload(false);
42 Future<?> future = task.download(bounds);
43 MainApplication.worker.submit(new PostDownloadHandler(task, future));
44 }
45
46 @Override
47 protected boolean listenToSelectionChange() {
48 return false;
49 }
50
51 @Override
52 protected void updateEnabledState() {
53 setEnabled(getLayerManager().getActiveLayer() != null
54 && !NetworkManager.isOffline(OnlineResource.OSM_API));
55 }
56
57 private static final class DownloadOsmInViewTask extends DownloadOsmTask {
58 Future<?> download(Bounds downloadArea) {
59 return download(new DownloadTask(new DownloadParams(), new BoundingBoxDownloader(downloadArea), null, false), downloadArea);
60 }
61 }
62}
Note: See TracBrowser for help on using the repository browser.