Ignore:
Timestamp:
2017-03-09T22:49:28+01:00 (7 years ago)
Author:
bastiK
Message:

fixed #12731 - Add an option to completely prevent upload of a layer : e.g. "never" to upload=true/false

to set this option, add XML attribute upload='never' to .osm file

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java

    r11649 r11709  
    6363import org.openstreetmap.josm.data.osm.DataIntegrityProblemException;
    6464import org.openstreetmap.josm.data.osm.DataSet;
     65import org.openstreetmap.josm.data.osm.DataSet.UploadPolicy;
    6566import org.openstreetmap.josm.data.osm.DataSetMerger;
    6667import org.openstreetmap.josm.data.osm.DatasetConsistencyTest;
     
    387388    public Icon getIcon() {
    388389        ImageProvider base = getBaseIconProvider().setMaxSize(ImageSizes.LAYER);
    389         if (isUploadDiscouraged()) {
     390        if (isUploadDiscouraged() || data.getUploadPolicy() == UploadPolicy.BLOCKED) {
    390391            base.addOverlay(new ImageOverlay(new ImageProvider("warning-small"), 0.5, 0.5, 1.0, 1.0));
    391392        }
     
    603604        if (isUploadDiscouraged()) {
    604605            p.add(new JLabel(tr("Upload is discouraged")), GBC.eop().insets(15, 0, 0, 0));
     606        }
     607        if (data.getUploadPolicy() == UploadPolicy.BLOCKED) {
     608            p.add(new JLabel(tr("Upload is blocked")), GBC.eop().insets(15, 0, 0, 0));
    605609        }
    606610
     
    874878    @Override
    875879    public boolean isUploadable() {
    876         return true;
     880        return data.getUploadPolicy() != UploadPolicy.BLOCKED;
    877881    }
    878882
    879883    @Override
    880884    public boolean requiresUploadToServer() {
    881         return requiresUploadToServer;
     885        return isUploadable() && requiresUploadToServer;
    882886    }
    883887
     
    968972    }
    969973
     974    /**
     975     * Determines if upload is being discouraged.
     976     * (i.e. this dataset contains private data which should not be uploaded)
     977     * @return {@code true} if upload is being discouraged, {@code false} otherwise
     978     */
    970979    @Override
    971980    public final boolean isUploadDiscouraged() {
    972         return data.isUploadDiscouraged();
     981        return data.getUploadPolicy() == UploadPolicy.DISCOURAGED;
    973982    }
    974983
     
    979988     */
    980989    public final void setUploadDiscouraged(boolean uploadDiscouraged) {
    981         if (uploadDiscouraged ^ isUploadDiscouraged()) {
    982             data.setUploadDiscouraged(uploadDiscouraged);
     990        if (data.getUploadPolicy() != UploadPolicy.BLOCKED &&
     991                uploadDiscouraged ^ isUploadDiscouraged()) {
     992            data.setUploadPolicy(uploadDiscouraged ? UploadPolicy.DISCOURAGED : UploadPolicy.NORMAL);
    983993            for (LayerStateChangeListener l : layerStateChangeListeners) {
    984994                l.uploadDiscouragedChanged(this, uploadDiscouraged);
Note: See TracChangeset for help on using the changeset viewer.