Changeset 15404 in josm for trunk/src/org/openstreetmap/josm/actions/UploadAction.java
- Timestamp:
- 2019-10-02T23:11:24+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/UploadAction.java
r14397 r15404 7 7 import java.awt.event.ActionEvent; 8 8 import java.awt.event.KeyEvent; 9 import java.beans.PropertyChangeListener; 9 10 import java.util.LinkedList; 10 11 import java.util.List; … … 25 26 import org.openstreetmap.josm.gui.HelpAwareOptionPane; 26 27 import org.openstreetmap.josm.gui.MainApplication; 28 import org.openstreetmap.josm.gui.Notification; 27 29 import org.openstreetmap.josm.gui.io.AsynchronousUploadPrimitivesTask; 28 30 import org.openstreetmap.josm.gui.io.UploadDialog; 29 31 import org.openstreetmap.josm.gui.io.UploadPrimitivesTask; 30 32 import org.openstreetmap.josm.gui.layer.AbstractModifiableLayer; 33 import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent; 34 import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent; 31 35 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 32 36 import org.openstreetmap.josm.gui.util.GuiHelper; … … 41 45 * Action that opens a connection to the osm server and uploads all changes. 42 46 * 43 * A ndialog is displayed asking the user to specify a rectangle to grab.47 * A dialog is displayed asking the user to specify a rectangle to grab. 44 48 * The url and account settings from the preferences are used. 45 49 * … … 91 95 } 92 96 97 private final PropertyChangeListener updateOnRequireUploadChange = evt -> { 98 if (OsmDataLayer.REQUIRES_UPLOAD_TO_SERVER_PROP.equals(evt.getPropertyName())) { 99 updateEnabledState(); 100 } 101 }; 102 93 103 /** 94 104 * Registers an upload hook. Adds the hook at the first position of the upload hooks. … … 146 156 147 157 @Override 158 protected LayerChangeAdapter buildLayerChangeAdapter() { 159 return new LayerChangeAdapter() { 160 @Override 161 public void layerAdded(LayerAddEvent e) { 162 if (e.getAddedLayer() instanceof OsmDataLayer) { 163 e.getAddedLayer().addPropertyChangeListener(updateOnRequireUploadChange); 164 } 165 super.layerAdded(e); 166 } 167 168 @Override 169 public void layerRemoving(LayerRemoveEvent e) { 170 if (e.getRemovedLayer() instanceof OsmDataLayer) { 171 e.getRemovedLayer().removePropertyChangeListener(updateOnRequireUploadChange); 172 } 173 super.layerRemoving(e); 174 } 175 }; 176 } 177 178 @Override 148 179 protected void updateEnabledState() { 149 180 OsmDataLayer editLayer = getLayerManager().getEditLayer(); 150 setEnabled(editLayer != null && editLayer. isUploadable());181 setEnabled(editLayer != null && editLayer.requiresUploadToServer()); 151 182 } 152 183 … … 232 263 public void uploadData(final OsmDataLayer layer, APIDataSet apiData) { 233 264 if (apiData.isEmpty()) { 234 JOptionPane.showMessageDialog( 235 MainApplication.getMainFrame(), 236 tr("No changes to upload."), 237 tr("Warning"), 238 JOptionPane.INFORMATION_MESSAGE 239 ); 265 new Notification(tr("No changes to upload.")).show(); 240 266 return; 241 267 } … … 292 318 return; 293 319 if (MainApplication.getMap() == null) { 294 JOptionPane.showMessageDialog( 295 MainApplication.getMainFrame(), 296 tr("Nothing to upload. Get some data first."), 297 tr("Warning"), 298 JOptionPane.WARNING_MESSAGE 299 ); 320 new Notification(tr("Nothing to upload. Get some data first.")).show(); 300 321 return; 301 322 }
Note:
See TracChangeset
for help on using the changeset viewer.