Changeset 295 in josm for src/org/openstreetmap/josm/actions/downloadtasks
- Timestamp:
- 2007-07-24T11:23:01+02:00 (18 years ago)
- Location:
- src/org/openstreetmap/josm/actions/downloadtasks
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/org/openstreetmap/josm/actions/downloadtasks/DownloadGpsTask.java
r237 r295 12 12 import org.openstreetmap.josm.gui.PleaseWaitRunnable; 13 13 import org.openstreetmap.josm.gui.download.DownloadDialog.DownloadTask; 14 import org.openstreetmap.josm.gui.layer.Layer; 14 15 import org.openstreetmap.josm.gui.layer.RawGpsLayer; 15 16 import org.openstreetmap.josm.gui.layer.RawGpsLayer.GpsPoint; … … 23 24 private DownloadAction action; 24 25 private Collection<Collection<GpsPoint>> rawData; 26 private final boolean newLayer; 25 27 26 public Task(BoundingBoxDownloader reader, DownloadAction action) { 28 public Task(boolean newLayer, BoundingBoxDownloader reader, DownloadAction action) { 27 29 super(tr("Downloading GPS data")); 28 30 this.reader = reader; 29 31 this.action = action; 32 this.newLayer = newLayer; 30 33 } 31 34 … … 38 41 return; 39 42 String name = action.dialog.minlat + " " + action.dialog.minlon + " x " + action.dialog.maxlat + " " + action.dialog.maxlon; 40 Main.main.addLayer(new RawGpsLayer(rawData, name, null)); 43 RawGpsLayer layer = new RawGpsLayer(true, rawData, name, null); 44 if (newLayer || findMergeLayer() == null) 45 Main.main.addLayer(layer); 46 else 47 findMergeLayer().mergeFrom(layer); 41 48 } 49 50 private Layer findMergeLayer() { 51 if (Main.map == null) 52 return null; 53 Layer active = Main.map.mapView.getActiveLayer(); 54 if (active != null && active instanceof RawGpsLayer) 55 return active; 56 for (Layer l : Main.map.mapView.getAllLayers()) 57 if (l instanceof RawGpsLayer && ((RawGpsLayer)l).fromServer) 58 return l; 59 return null; 60 } 42 61 43 62 @Override protected void cancel() { … … 50 69 51 70 public void download(DownloadAction action, double minlat, double minlon, double maxlat, double maxlon) { 52 Task task = new Task(new BoundingBoxDownloader(minlat, minlon, maxlat, maxlon), action); 71 Task task = new Task(action.dialog.newLayer.isSelected(), new BoundingBoxDownloader(minlat, minlon, maxlat, maxlon), action); 53 72 Main.worker.execute(task); 54 73 } -
src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTask.java
r237 r295 25 25 private BoundingBoxDownloader reader; 26 26 private DataSet dataSet; 27 private boolean newLayer; 27 28 28 public Task(BoundingBoxDownloader reader) { 29 public Task(boolean newLayer, BoundingBoxDownloader reader) { 29 30 super(tr("Downloading data")); 30 31 this.reader = reader; 32 this.newLayer = newLayer; 31 33 } 32 34 … … 40 42 if (dataSet.allPrimitives().isEmpty()) 41 43 errorMessage = tr("No data imported."); 42 Main.main.addLayer(new OsmDataLayer(dataSet, tr("Data Layer"), null)); 44 OsmDataLayer layer = new OsmDataLayer(dataSet, tr("Data Layer"), null); 45 if (newLayer) 46 Main.main.addLayer(layer); 47 else 48 Main.main.editLayer().mergeFrom(layer); 43 49 } 44 50 … … 51 57 52 58 public void download(DownloadAction action, double minlat, double minlon, double maxlat, double maxlon) { 53 Task task = new Task(new BoundingBoxDownloader(minlat, minlon, maxlat, maxlon)); 59 Task task = new Task(action.dialog.newLayer.isSelected(), new BoundingBoxDownloader(minlat, minlon, maxlat, maxlon)); 54 60 Main.worker.execute(task); 55 61 }
Note:
See TracChangeset
for help on using the changeset viewer.