- Timestamp:
- 2018-02-18T16:51:54+01:00 (6 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/SessionLoadAction.java
r12636 r13437 138 138 if (canceled) 139 139 return; 140 MainApplication.getLayerManager().addLayer(l); 140 // NoteImporter directly loads notes into current note layer 141 if (!MainApplication.getLayerManager().containsLayer(l)) { 142 MainApplication.getLayerManager().addLayer(l); 143 } 141 144 } 142 145 if (active != null) { -
trunk/src/org/openstreetmap/josm/actions/UploadNotesAction.java
r12675 r13437 5 5 6 6 import java.awt.event.ActionEvent; 7 import java.util.List;8 7 9 8 import org.openstreetmap.josm.actions.upload.UploadNotesTask; … … 18 17 * On click, it finds the note layer and fires off an upload task 19 18 * with the note data contained in the layer. 20 * 19 * @since 7699 21 20 */ 22 21 public class UploadNotesAction extends JosmAction { … … 31 30 @Override 32 31 public void actionPerformed(ActionEvent e) { 33 List<NoteLayer> noteLayers = getLayerManager().getLayersOfType(NoteLayer.class); 34 NoteLayer layer; 35 if (!noteLayers.isEmpty()) { 36 layer = noteLayers.get(0); 37 } else { 32 NoteLayer layer = getLayerManager().getNoteLayer(); 33 if (layer == null) { 38 34 Logging.error("No note layer found"); 39 35 return; -
trunk/src/org/openstreetmap/josm/actions/downloadtasks/DownloadNotesTask.java
r13352 r13437 134 134 135 135 noteLayer = new NoteLayer(notesData, tr("Notes")); 136 List<NoteLayer> noteLayers = MainApplication.getLayerManager().getLayersOfType(NoteLayer.class);137 if ( !noteLayers.isEmpty()) {138 noteLayers.get(0).getNoteData().addNotes(notesData);136 NoteLayer l = MainApplication.getLayerManager().getNoteLayer(); 137 if (l != null) { 138 l.mergeFrom(noteLayer); 139 139 MapFrame map = MainApplication.getMap(); 140 140 if (map != null && zoomAfterDownload) { -
trunk/src/org/openstreetmap/josm/data/osm/NoteData.java
r12743 r13437 119 119 } 120 120 return false; 121 } 122 123 /** 124 * Merge notes from an existing note data. 125 * @param from existing note data 126 * @since 13437 127 */ 128 public synchronized void mergeFrom(NoteData from) { 129 if (this != from) { 130 addNotes(from.noteList); 131 } 121 132 } 122 133 -
trunk/src/org/openstreetmap/josm/gui/io/importexport/NoteImporter.java
r13352 r13437 68 68 throws SAXException, IOException { 69 69 final List<Note> fileNotes = new NoteReader(in).parse(); 70 List<NoteLayer> noteLayers = null; 71 if (MainApplication.getMap() != null) { 72 noteLayers = MainApplication.getLayerManager().getLayersOfType(NoteLayer.class); 73 } 74 final NoteLayer layer; 75 if (noteLayers != null && !noteLayers.isEmpty()) { 76 layer = noteLayers.get(0); 70 NoteLayer layer = MainApplication.getLayerManager().getNoteLayer(); 71 if (layer != null) { 77 72 layer.getNoteData().addNotes(fileNotes); 78 73 } else { -
trunk/src/org/openstreetmap/josm/gui/layer/MainLayerManager.java
r13435 r13437 421 421 return null; 422 422 } 423 } 424 425 /** 426 * Returns the unique note layer, if present. 427 * @return the unique note layer, or null 428 * @since 13437 429 */ 430 public NoteLayer getNoteLayer() { 431 List<NoteLayer> col = getLayersOfType(NoteLayer.class); 432 return col.isEmpty() ? null : col.get(0); 423 433 } 424 434 -
trunk/src/org/openstreetmap/josm/gui/layer/NoteLayer.java
r13206 r13437 349 349 @Override 350 350 public String getToolTipText() { 351 return trn("{0} note", "{0} notes", noteData.getNotes().size(), noteData.getNotes().size()); 351 int size = noteData.getNotes().size(); 352 return trn("{0} note", "{0} notes", size, size); 352 353 } 353 354 354 355 @Override 355 356 public void mergeFrom(Layer from) { 356 throw new UnsupportedOperationException("Notes layer does not support merging yet"); 357 if (from instanceof NoteLayer && this != from) { 358 noteData.mergeFrom(((NoteLayer) from).noteData); 359 } 357 360 } 358 361
Note:
See TracChangeset
for help on using the changeset viewer.