source: josm/trunk/src/org/openstreetmap/josm/actions/UploadNotesAction.java

Last change on this file was 17414, checked in by GerdP, 3 years ago

see #19296: Actions should avoid to install listeners which are not needed

  • both Note actions don't use SelectionChangeListener or LayerChangeListener
  • Property svn:eol-style set to native
File size: 1.6 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions;
3
4import static org.openstreetmap.josm.tools.I18n.tr;
5
6import java.awt.event.ActionEvent;
7
8import org.openstreetmap.josm.actions.upload.UploadNotesTask;
9import org.openstreetmap.josm.data.osm.NoteData;
10import org.openstreetmap.josm.gui.layer.NoteLayer;
11import org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor;
12import org.openstreetmap.josm.tools.ImageProvider;
13import org.openstreetmap.josm.tools.Logging;
14
15/**
16 * Action to initiate uploading changed notes to the OSM server.
17 * On click, it finds the note layer and fires off an upload task
18 * with the note data contained in the layer.
19 * @since 7699
20 */
21public class UploadNotesAction extends JosmAction {
22
23 /** Create a new action to upload notes */
24 public UploadNotesAction() {
25 super(false);
26 putValue(SHORT_DESCRIPTION, tr("Upload note changes to server"));
27 putValue(NAME, tr("Upload notes"));
28 new ImageProvider("upload").getResource().attachImageIcon(this, true);
29 }
30
31 @Override
32 public void actionPerformed(ActionEvent e) {
33 NoteLayer layer = getLayerManager().getNoteLayer();
34 if (layer == null) {
35 Logging.error("No note layer found");
36 return;
37 }
38 Logging.debug("uploading note changes");
39 NoteData noteData = layer.getNoteData();
40
41 if (noteData == null || !noteData.isModified()) {
42 Logging.debug("No changed notes to upload");
43 return;
44 }
45 new UploadNotesTask().uploadNotes(noteData, new PleaseWaitProgressMonitor(tr("Uploading notes to server")));
46 }
47}
Note: See TracBrowser for help on using the repository browser.