- Timestamp:
- 2016-01-16T21:35:52+01:00 (9 years ago)
- Location:
- trunk/src/org/openstreetmap/josm/gui/dialogs/changeset
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetContentPanel.java
r9075 r9493 59 59 * 60 60 */ 61 public class ChangesetContentPanel extends JPanel implements PropertyChangeListener { 61 public class ChangesetContentPanel extends JPanel implements PropertyChangeListener, ChangesetAware { 62 62 63 63 private ChangesetContentTableModel model; … … 74 74 DefaultListSelectionModel selectionModel = new DefaultListSelectionModel(); 75 75 model = new ChangesetContentTableModel(selectionModel); 76 actDownloadContentAction = new DownloadChangesetContentAction(); 77 actDownloadContentAction.initProperties( currentChangeset);76 actDownloadContentAction = new DownloadChangesetContentAction(this); 77 actDownloadContentAction.initProperties(); 78 78 actShowHistory = new ShowHistoryAction(); 79 79 model.getSelectionModel().addListSelectionListener(actShowHistory); … … 158 158 model.populate(cs.getContent()); 159 159 } 160 actDownloadContentAction.initProperties( cs);160 actDownloadContentAction.initProperties(); 161 161 pnlHeader.setChangeset(cs); 162 162 } … … 185 185 title, JOptionPane.WARNING_MESSAGE, helpTopic 186 186 ); 187 }188 189 /**190 * Downloads/Updates the content of the changeset191 *192 */193 class DownloadChangesetContentAction extends AbstractAction {194 DownloadChangesetContentAction() {195 putValue(NAME, tr("Download content"));196 putValue(SMALL_ICON, ChangesetCacheManager.DOWNLOAD_CONTENT_ICON);197 putValue(SHORT_DESCRIPTION, tr("Download the changeset content from the OSM server"));198 }199 200 @Override201 public void actionPerformed(ActionEvent evt) {202 if (currentChangeset == null) return;203 ChangesetContentDownloadTask task = new ChangesetContentDownloadTask(ChangesetContentPanel.this, currentChangeset.getId());204 ChangesetCacheManager.getInstance().runDownloadTask(task);205 }206 207 public void initProperties(Changeset cs) {208 if (cs == null) {209 setEnabled(false);210 return;211 } else {212 setEnabled(true);213 }214 if (cs.getContent() == null) {215 putValue(NAME, tr("Download content"));216 putValue(SMALL_ICON, ChangesetCacheManager.DOWNLOAD_CONTENT_ICON);217 putValue(SHORT_DESCRIPTION, tr("Download the changeset content from the OSM server"));218 } else {219 putValue(NAME, tr("Update content"));220 putValue(SMALL_ICON, ChangesetCacheManager.UPDATE_CONTENT_ICON);221 putValue(SHORT_DESCRIPTION, tr("Update the changeset content from the OSM server"));222 }223 }224 187 } 225 188 … … 457 420 } 458 421 } 422 423 @Override 424 public Changeset getCurrentChangeset() { 425 return currentChangeset; 426 } 459 427 } -
trunk/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetDetailPanel.java
r9059 r9493 48 48 * 49 49 */ 50 public class ChangesetDetailPanel extends JPanel implements PropertyChangeListener { 50 public class ChangesetDetailPanel extends JPanel implements PropertyChangeListener, ChangesetAware { 51 51 52 52 private final JosmTextField tfID = new JosmTextField(10); … … 57 57 private final JosmTextField tfClosedOn = new JosmTextField(20); 58 58 59 private final DownloadChangesetContentAction actDownloadChangesetContent = new DownloadChangesetContentAction(); 59 private final DownloadChangesetContentAction actDownloadChangesetContent = new DownloadChangesetContentAction(this); 60 60 private final UpdateChangesetAction actUpdateChangesets = new UpdateChangesetAction(); 61 61 private final RemoveFromCacheAction actRemoveFromCache = new RemoveFromCacheAction(); … … 63 63 private final ZoomInCurrentLayerAction actZoomInCurrentLayerAction = new ZoomInCurrentLayerAction(); 64 64 65 private transient Changeset current; 65 private transient Changeset currentChangeset; 66 66 67 67 protected JPanel buildActionButtonPanel() { … … 73 73 // -- remove from cache action 74 74 tb.add(actRemoveFromCache); 75 actRemoveFromCache.initProperties(current); 75 actRemoveFromCache.initProperties(currentChangeset); 76 76 77 77 // -- changeset update 78 78 tb.add(actUpdateChangesets); 79 actUpdateChangesets.initProperties(current); 79 actUpdateChangesets.initProperties(currentChangeset); 80 80 81 81 // -- changeset content download 82 82 tb.add(actDownloadChangesetContent); 83 actDownloadChangesetContent.initProperties( current);83 actDownloadChangesetContent.initProperties(); 84 84 85 85 tb.add(actSelectInCurrentLayer); … … 240 240 241 241 protected void setCurrentChangeset(Changeset cs) { 242 current = cs; 242 currentChangeset = cs; 243 243 if (cs == null) { 244 244 clearView(); … … 246 246 updateView(cs); 247 247 } 248 actDownloadChangesetContent.initProperties( current);249 actUpdateChangesets.initProperties(current); 250 actRemoveFromCache.initProperties(current); 248 actDownloadChangesetContent.initProperties(); 249 actUpdateChangesets.initProperties(currentChangeset); 250 actRemoveFromCache.initProperties(currentChangeset); 251 251 actSelectInCurrentLayer.updateEnabledState(); 252 252 actZoomInCurrentLayerAction.updateEnabledState(); … … 275 275 @Override 276 276 public void actionPerformed(ActionEvent evt) { 277 if (current == null) 278 return; 279 ChangesetCache.getInstance().remove(current); 277 if (currentChangeset == null) 278 return; 279 ChangesetCache.getInstance().remove(currentChangeset); 280 280 } 281 281 282 282 public void initProperties(Changeset cs) { 283 283 setEnabled(cs != null); 284 }285 }286 287 /**288 * Removes the selected changesets from the local changeset cache289 *290 */291 class DownloadChangesetContentAction extends AbstractAction {292 DownloadChangesetContentAction() {293 putValue(NAME, tr("Download content"));294 putValue(SMALL_ICON, ChangesetCacheManager.DOWNLOAD_CONTENT_ICON);295 putValue(SHORT_DESCRIPTION, tr("Download the changeset content from the OSM server"));296 }297 298 @Override299 public void actionPerformed(ActionEvent evt) {300 if (current == null) return;301 ChangesetContentDownloadTask task = new ChangesetContentDownloadTask(ChangesetDetailPanel.this, current.getId());302 ChangesetCacheManager.getInstance().runDownloadTask(task);303 }304 305 public void initProperties(Changeset cs) {306 if (cs == null) {307 setEnabled(false);308 return;309 } else {310 setEnabled(true);311 }312 if (cs.getContent() == null) {313 putValue(NAME, tr("Download content"));314 putValue(SMALL_ICON, ChangesetCacheManager.DOWNLOAD_CONTENT_ICON);315 putValue(SHORT_DESCRIPTION, tr("Download the changeset content from the OSM server"));316 } else {317 putValue(NAME, tr("Update content"));318 putValue(SMALL_ICON, ChangesetCacheManager.UPDATE_CONTENT_ICON);319 putValue(SHORT_DESCRIPTION, tr("Update the changeset content from the OSM server"));320 }321 284 } 322 285 } … … 335 298 @Override 336 299 public void actionPerformed(ActionEvent evt) { 337 if (current == null) return; 300 if (currentChangeset == null) return; 338 301 Main.worker.submit( 339 302 new ChangesetHeaderDownloadTask( 340 303 ChangesetDetailPanel.this, 341 Collections.singleton(current.getId()) 304 Collections.singleton(currentChangeset.getId()) 342 305 ) 343 306 ); … … 368 331 tr("<html>None of the objects in the content of changeset {0} is available in the current<br>" 369 332 + "edit layer ''{1}''.</html>", 370 current.getId(), 333 currentChangeset.getId(), 371 334 Main.main.getEditLayer().getName() 372 335 ), … … 385 348 Set<OsmPrimitive> target = new HashSet<>(); 386 349 for (OsmPrimitive p: layer.data.allPrimitives()) { 387 if (p.isUsable() && p.getChangesetId() == current.getId()) { 350 if (p.isUsable() && p.getChangesetId() == currentChangeset.getId()) { 388 351 target.add(p); 389 352 } … … 401 364 return; 402 365 } 403 setEnabled(current != null); 366 setEnabled(currentChangeset != null); 404 367 } 405 368 … … 429 392 tr("<html>None of the objects in the content of changeset {0} is available in the current<br>" 430 393 + "edit layer ''{1}''.</html>", 431 current.getId(), 394 currentChangeset.getId(), 432 395 Main.main.getEditLayer().getName() 433 396 ), … … 446 409 Set<OsmPrimitive> target = new HashSet<>(); 447 410 for (OsmPrimitive p: layer.data.allPrimitives()) { 448 if (p.isUsable() && p.getChangesetId() == current.getId()) { 411 if (p.isUsable() && p.getChangesetId() == currentChangeset.getId()) { 449 412 target.add(p); 450 413 } … … 463 426 return; 464 427 } 465 setEnabled(current != null); 428 setEnabled(currentChangeset != null); 466 429 } 467 430 … … 471 434 } 472 435 } 436 437 @Override 438 public Changeset getCurrentChangeset() { 439 return currentChangeset; 440 } 473 441 }
Note:
See TracChangeset
for help on using the changeset viewer.