Ticket #18160: 18160.patch

File 18160.patch, 4.4 KB (added by taylor.smock, 6 years ago)

Initial patch. Adds getChangesetSourceTag to Layer class and overrides it in GpxLayer, ImageryLayer, and GeoImageLayer.

  • src/org/openstreetmap/josm/gui/MapView.java

     
    5050import org.openstreetmap.josm.gui.MapViewState.MapViewRectangle;
    5151import org.openstreetmap.josm.gui.autofilter.AutoFilterManager;
    5252import org.openstreetmap.josm.gui.datatransfer.OsmTransferHandler;
    53 import org.openstreetmap.josm.gui.layer.GpxLayer;
    54 import org.openstreetmap.josm.gui.layer.ImageryLayer;
    5553import org.openstreetmap.josm.gui.layer.Layer;
    5654import org.openstreetmap.josm.gui.layer.LayerManager;
    5755import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
     
    6664import org.openstreetmap.josm.gui.layer.MapViewPaintable.PaintableInvalidationEvent;
    6765import org.openstreetmap.josm.gui.layer.MapViewPaintable.PaintableInvalidationListener;
    6866import org.openstreetmap.josm.gui.layer.OsmDataLayer;
    69 import org.openstreetmap.josm.gui.layer.geoimage.GeoImageLayer;
    7067import org.openstreetmap.josm.gui.layer.markerlayer.PlayHeadMarker;
    7168import org.openstreetmap.josm.gui.mappaint.MapPaintStyles;
    7269import org.openstreetmap.josm.gui.mappaint.MapPaintStyles.MapPaintSylesUpdateListener;
     
    819816     */
    820817    public String getLayerInformationForSourceTag() {
    821818        final Set<String> layerInfo = new TreeSet<>();
    822         if (!layerManager.getLayersOfType(GpxLayer.class).isEmpty()) {
    823             // no i18n for international values
    824             layerInfo.add("survey");
    825         }
    826         for (final GeoImageLayer i : layerManager.getLayersOfType(GeoImageLayer.class)) {
    827             if (i.isVisible()) {
    828                 layerInfo.add(i.getName());
     819        for (Layer layer : layerManager.getLayers()) {
     820            if (layer.getChangesetSourceTag() != null && !layer.getChangesetSourceTag().trim().isEmpty()) {
     821                layerInfo.add(layer.getChangesetSourceTag());
    829822            }
    830823        }
    831         for (final ImageryLayer i : layerManager.getLayersOfType(ImageryLayer.class)) {
    832             if (i.isVisible()) {
    833                 layerInfo.add(i.getInfo().getSourceName());
    834             }
    835         }
    836824        return Utils.join("; ", layerInfo);
    837825    }
    838826
  • src/org/openstreetmap/josm/gui/layer/GpxLayer.java

     
    473473    public void expertChanged(boolean isExpert) {
    474474        this.isExpertMode = isExpert;
    475475    }
     476
     477    @Override
     478    public String getChangesetSourceTag() {
     479        return "survey";
     480    }
    476481}
  • src/org/openstreetmap/josm/gui/layer/ImageryLayer.java

     
    354354    public String toString() {
    355355        return getClass().getSimpleName() + " [info=" + info + ']';
    356356    }
     357
     358    @Override
     359    public String getChangesetSourceTag() {
     360        return getInfo().getSourceName();
     361    }
    357362}
  • src/org/openstreetmap/josm/gui/layer/Layer.java

     
    674674        return v.getBounds();
    675675    }
    676676
     677    /**
     678     * Get the source for the layer
     679     * @return The string for the changeset source tag or {@code null}
     680     * @since xxx
     681     */
     682    public String getChangesetSourceTag() {
     683        return null;
     684    }
     685
    677686    @Override
    678687    public String toString() {
    679688        return getClass().getSimpleName() + " [name=" + name + ", associatedFile=" + associatedFile + ']';
  • src/org/openstreetmap/josm/gui/layer/geoimage/GeoImageLayer.java

     
    10101010    public void imageDataUpdated(ImageData data) {
    10111011        updateBufferAndRepaint();
    10121012    }
     1013
     1014    @Override
     1015    public String getChangesetSourceTag() {
     1016        return getName();
     1017    }
    10131018}