Ticket #17465: josm_fix_map_mode_readonly_layer_v1.patch

File josm_fix_map_mode_readonly_layer_v1.patch, 2.7 KB (added by Woazboat, 2 years ago)

Disable edit map modes when layer is in readonly mode

  • plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java

     
    9898
    9999    @Override
    100100    public void enterMode() {
     101        if (!isEnabled())
     102            return;
    101103        super.enterMode();
    102104        lineWasSaved = false;
    103105        settings = new FDSettings();
     
    140142
    141143    @Override
    142144    public boolean layerIsSupported(Layer l) {
    143         return l instanceof OsmDataLayer;
     145        return isEditableDataLayer(l);
    144146    }
    145147
    146148    @Override
  • plugins/buildings_tools/src/org/openstreetmap/josm/plugins/buildings_tools/DrawBuildingAction.java

     
    139139
    140140    @Override
    141141    public void enterMode() {
     142        if (!isEnabled())
     143            return;
    142144        super.enterMode();
    143145
    144146        MapFrame map = MainApplication.getMap();
    145         if (getLayerManager().getEditDataSet() == null) {
    146             map.selectSelectTool(false);
    147             return;
    148         }
    149147        selectedColor = new NamedColorProperty(marktr("selected"), selectedColor).get();
    150148        map.mapView.addMouseListener(this);
    151149        map.mapView.addMouseMotionListener(this);
     
    449447
    450448    @Override
    451449    public boolean layerIsSupported(Layer l) {
    452         return l instanceof OsmDataLayer;
     450        return isEditableDataLayer(l);
    453451    }
    454452
     453    @Override
     454    protected void updateEnabledState() {
     455        setEnabled(getLayerManager().getEditLayer() != null);
     456    }
     457
    455458    public final void updateSnap(Collection<? extends OsmPrimitive> newSelection) {
    456459        building.clearAngleSnap();
    457460        // update snap only if selection isn't too big
  • plugins/splinex/src/org/openstreetmap/josm/plugins/Splinex/DrawSplineAction.java

     
    395395
    396396    @Override
    397397    public boolean layerIsSupported(Layer l) {
    398         return l instanceof OsmDataLayer;
     398        return isEditableDataLayer(l);
    399399    }
    400400
    401401    @Override