Changeset 19550 in josm
- Timestamp:
- 2026-03-19T14:35:08+01:00 (3 hours ago)
- Location:
- trunk/src/org/openstreetmap/josm/actions
- Files:
-
- 4 edited
-
OpenLocationAction.java (modified) (3 diffs)
-
downloadtasks/DownloadOsmChangeTask.java (modified) (1 diff)
-
downloadtasks/DownloadParams.java (modified) (1 diff)
-
downloadtasks/DownloadTask.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/OpenLocationAction.java
r18173 r19550 37 37 import org.openstreetmap.josm.actions.downloadtasks.PostDownloadHandler; 38 38 import org.openstreetmap.josm.data.preferences.BooleanProperty; 39 import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil; 39 40 import org.openstreetmap.josm.gui.ExtendedDialog; 40 41 import org.openstreetmap.josm.gui.HelpAwareOptionPane; … … 279 280 List<Future<?>> result = new ArrayList<>(); 280 281 for (final DownloadTask task : tasks) { 282 DownloadParams currentParams = settings; 283 if (task.providesOldData() && !settings.isNewLayer()) { 284 currentParams = GuiHelper.runInEDTAndWaitAndReturn(() -> confirmNoNewLayer(settings, url)); 285 } 281 286 try { 282 287 task.setZoomAfterDownload(zoomToData); 283 result.add(MainApplication.worker.submit(new PostDownloadHandler(task, task.loadUrl( settings, url,288 result.add(MainApplication.worker.submit(new PostDownloadHandler(task, task.loadUrl(currentParams, url, 284 289 new PleaseWaitProgressMonitor(tr("Download data")))))); 285 290 } catch (IllegalArgumentException e) { … … 288 293 } 289 294 return Collections.unmodifiableList(result); 295 } 296 297 private static DownloadParams confirmNoNewLayer(DownloadParams originalParams, String url) { 298 if (ConditionalOptionPaneUtil.showConfirmationDialog("open-location-action.confirm-no-new-layer", 299 MainApplication.getMainFrame(), 300 tr("Do you want to create a new layer for {0}?<br>You may be mixing old and new data otherwise!", url), 301 tr("No new layer"), JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE, JOptionPane.YES_OPTION) 302 ) { 303 return new DownloadParams(originalParams).withNewLayer(true); 304 } 305 return originalParams; 290 306 } 291 307 -
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmChangeTask.java
r18711 r19550 87 87 } 88 88 89 @Override 90 public boolean providesOldData() { 91 return true; 92 } 93 89 94 /** 90 95 * OsmChange download task. -
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadParams.java
r13927 r19550 16 16 private DownloadPolicy downloadPolicy; 17 17 private UploadPolicy uploadPolicy; 18 19 public DownloadParams() { 20 // Do nothing -- just make this constructor visible 21 } 22 23 /** 24 * Clone another {@link DownloadParams} 25 * @param other The download parameters to clone 26 */ 27 public DownloadParams(DownloadParams other) { 28 this.newLayer = other.newLayer; 29 this.layerName = other.layerName; 30 this.locked = other.locked; 31 this.downloadPolicy = other.downloadPolicy; 32 this.uploadPolicy = other.uploadPolicy; 33 } 18 34 19 35 /** -
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadTask.java
r18830 r19550 155 155 156 156 /** 157 * If this task provides potentially old data, this should return {@code true}. If so, it would be a good decision 158 * to prompt users to verify if they want the data to be downloaded to the current layer. 159 * @return {@code true} if the data could be old. 160 * @since xxx 161 */ 162 default boolean providesOldData() { 163 return false; 164 } 165 166 /** 157 167 * Cancels the asynchronous download task. 158 168 *
Note:
See TracChangeset
for help on using the changeset viewer.
