- Timestamp:
- 2009-07-30T08:40:34+02:00 (16 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/UpdateDataAction.java
r1865 r1872 16 16 import org.openstreetmap.josm.data.osm.DataSource; 17 17 import org.openstreetmap.josm.gui.OptionPaneUtil; 18 import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor; 18 19 import org.openstreetmap.josm.tools.Shortcut; 19 20 … … 32 33 /** 33 34 * Refreshes the enabled state 34 * 35 * 35 36 */ 36 37 @Override … … 81 82 } 82 83 83 new DownloadOsmTaskList().download(false, areas); 84 new DownloadOsmTaskList().download(false, areas, new PleaseWaitProgressMonitor()); 84 85 } 85 86 } -
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadOsmTaskList.java
r1847 r1872 24 24 import org.openstreetmap.josm.gui.layer.Layer; 25 25 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 26 import org.openstreetmap.josm.gui.progress.NullProgressMonitor;27 26 import org.openstreetmap.josm.gui.progress.ProgressMonitor; 28 27 … … 76 75 * @param The Collection of Areas to download 77 76 */ 78 public void download(boolean newLayer, Collection<Area> areas) { 79 List<Rectangle2D> rects = new LinkedList<Rectangle2D>(); 80 for(Area a : areas) { 81 rects.add(a.getBounds2D()); 82 } 83 84 download(newLayer, rects, NullProgressMonitor.INSTANCE); 77 public void download(boolean newLayer, Collection<Area> areas, ProgressMonitor progressMonitor) { 78 progressMonitor.beginTask(tr("Updating data")); 79 try { 80 List<Rectangle2D> rects = new LinkedList<Rectangle2D>(); 81 for(Area a : areas) { 82 rects.add(a.getBounds2D()); 83 } 84 85 download(newLayer, rects, progressMonitor.createSubTaskMonitor(ProgressMonitor.ALL_TICKS, false)); 86 } finally { 87 progressMonitor.finishTask(); 88 } 85 89 } 86 90 -
trunk/src/org/openstreetmap/josm/gui/progress/AbstractProgressMonitor.java
r1812 r1872 19 19 String extraText; 20 20 Boolean intermediate; 21 22 boolean finishRequested; 21 23 } 22 24 … … 86 88 87 89 if (state == State.IN_SUBTASK) { 88 // Make sure the subtask didn't start yet (once task start it must be finished) 89 boolean broken = currentChild.state != State.INIT; 90 for (Request request:requests) { 91 broken = broken | request.originator.state != State.INIT; 92 } 93 if (broken) { 94 throw new ProgressException("Cannot call finishTask when there are unfinished tasks"); 95 } else { 96 state = State.IN_TASK; 97 } 98 } 99 100 checkState(State.IN_TASK); 101 state = State.FINISHED; 102 doFinishTask(); 90 requestedState.finishRequested = true; 91 } else { 92 checkState(State.IN_TASK); 93 state = State.FINISHED; 94 doFinishTask(); 95 } 103 96 } 104 97 } … … 282 275 283 276 private void applyThisRequest(Request request) { 284 if (request.customText != null) { 285 this.customText = request.customText; 286 } 287 288 if (request.title != null) { 289 this.taskTitle = request.title; 290 } 291 292 if (request.intermediate != null) { 293 this.intermediateTask = request.intermediate; 294 } 295 296 if (request.extraText != null) { 297 this.extraText = request.extraText; 298 } 299 300 resetState(); 277 if (request.finishRequested) { 278 finishTask(); 279 } else { 280 if (request.customText != null) { 281 this.customText = request.customText; 282 } 283 284 if (request.title != null) { 285 this.taskTitle = request.title; 286 } 287 288 if (request.intermediate != null) { 289 this.intermediateTask = request.intermediate; 290 } 291 292 if (request.extraText != null) { 293 this.extraText = request.extraText; 294 } 295 296 resetState(); 297 } 301 298 } 302 299
Note:
See TracChangeset
for help on using the changeset viewer.