Ignore:
Timestamp:
2018-03-03T17:59:48+01:00 (6 years ago)
Author:
Don-vip
Message:

fix #8039, see #10456 - fix bugs with non-downloadable layers

Location:
trunk/src/org/openstreetmap/josm/actions/relation
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/relation/AbstractRelationAction.java

    r11922 r13486  
    77import javax.swing.AbstractAction;
    88
     9import org.openstreetmap.josm.Main;
    910import org.openstreetmap.josm.actions.OsmPrimitiveAction;
     11import org.openstreetmap.josm.data.osm.DataSet;
     12import org.openstreetmap.josm.data.osm.DataSet.DownloadPolicy;
    1013import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1114import org.openstreetmap.josm.data.osm.Relation;
     15import org.openstreetmap.josm.io.OnlineResource;
    1216import org.openstreetmap.josm.tools.SubclassFilteredCollection;
    1317
     
    4650        setEnabled(!relations.isEmpty());
    4751    }
     52
     53    protected final boolean canDownload() {
     54        if (relations.isEmpty()) {
     55            return false;
     56        }
     57        DataSet ds = relations.iterator().next().getDataSet();
     58        return !Main.isOffline(OnlineResource.OSM_API)
     59            && ds != null && !ds.isLocked() && !DownloadPolicy.BLOCKED.equals(ds.getDownloadPolicy());
     60    }
    4861}
  • trunk/src/org/openstreetmap/josm/actions/relation/DownloadMembersAction.java

    r13453 r13486  
    88import java.util.Collection;
    99
    10 import org.openstreetmap.josm.Main;
    1110import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1211import org.openstreetmap.josm.gui.MainApplication;
    1312import org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationTask;
    14 import org.openstreetmap.josm.io.OnlineResource;
    1513import org.openstreetmap.josm.tools.ImageProvider;
    1614import org.openstreetmap.josm.tools.SubclassFilteredCollection;
     
    4745    @Override
    4846    protected void updateEnabledState() {
    49         setEnabled(!relations.isEmpty() && !Main.isOffline(OnlineResource.OSM_API)
    50                 && !relations.iterator().next().getDataSet().isLocked());
     47        setEnabled(canDownload());
    5148    }
    5249}
  • trunk/src/org/openstreetmap/josm/actions/relation/DownloadSelectedIncompleteMembersAction.java

    r13453 r13486  
    99import java.util.Set;
    1010
    11 import org.openstreetmap.josm.Main;
    1211import org.openstreetmap.josm.data.osm.OsmPrimitive;
    1312import org.openstreetmap.josm.data.osm.Relation;
    1413import org.openstreetmap.josm.gui.MainApplication;
    1514import org.openstreetmap.josm.gui.dialogs.relation.DownloadRelationMemberTask;
    16 import org.openstreetmap.josm.io.OnlineResource;
    1715import org.openstreetmap.josm.tools.ImageProvider;
    1816import org.openstreetmap.josm.tools.SubclassFilteredCollection;
     
    6765    @Override
    6866    protected void updateEnabledState() {
    69         setEnabled(!relations.isEmpty() && !incompleteMembers.isEmpty() && !Main.isOffline(OnlineResource.OSM_API)
    70                 && !relations.iterator().next().getDataSet().isLocked());
     67        setEnabled(!incompleteMembers.isEmpty() && canDownload());
    7168    }
    7269}
Note: See TracChangeset for help on using the changeset viewer.