Ticket #20467: 20467.patch

File 20467.patch, 1.9 KB (added by GerdP, 5 years ago)

simple patch to add new preference osm-primitives.show-full-tag

  • src/org/openstreetmap/josm/data/osm/DefaultNameFormatter.java

     
    251251            name.append(tr("incomplete"));
    252252        } else {
    253253            TaggingPreset preset = TaggingPresetNameTemplateList.getInstance().findPresetTemplate(way);
     254            final boolean showFullTag = Config.getPref().getBoolean("osm-primitives.show-full-tag", false);
    254255            if (preset == null || !(way instanceof TemplateEngineDataProvider)) {
    255256                String n;
    256257                if (Config.getPref().getBoolean("osm-primitives.localize-name", true)) {
     
    261262                if (n == null) {
    262263                    n = way.get("ref");
    263264                }
     265                if (n == null && showFullTag) {
     266                    for (String key : Arrays.asList("highway", "railway", "waterway", "landuse")) {
     267                        String value = way.get(key);
     268                        if (value != null) {
     269                            n = key + "=" + value;
     270                            break;
     271                        }
     272                    }
     273                }
    264274                if (n == null) {
    265275                    n = way.hasKey("highway") ? tr("highway") :
    266276                        way.hasKey("railway") ? tr("railway") :
     
    286296                    }
    287297                }
    288298                if (n == null && way.hasKey("building")) {
    289                     n = tr("building");
     299                    if (showFullTag)
     300                        n = "building=" + way.get("building");
     301                    else
     302                        n = tr("building");
    290303                }
    291304                if (n == null || n.isEmpty()) {
    292305                    n = String.valueOf(way.getId());