Modify

Opened 8 years ago

Closed 7 years ago

Last modified 7 years ago

#12733 closed defect (wontfix)

preset combo code default="..." works only for untagged objects

Reported by: Klumbumbus Owned by: team
Priority: normal Milestone:
Component: Core Version:
Keywords: template_report preset combo default value Cc: stoecker

Description (last modified by Klumbumbus)

What steps will reproduce the problem?

  1. create a closed way
  2. open the building preset
  3. see how building=yes is preset because of the code default="yes" of the building combo
  4. click cancel
  5. tag the way with e.g. amenity=school
  6. open the building preset again

What is the expected result?

yes is preset building type

What happens instead?

  • the building type combo is empty
  • if you click on OK, the preset closes without tagging the way as building (while you would expect that it was tagged with building=yes)

Please provide any additional information below. Attach a screenshot if possible.

URL:http://josm.openstreetmap.de/svn/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2016-04-04 23:13:08 +0200 (Mon, 04 Apr 2016)
Build-Date:2016-04-05 01:32:54
Revision:10109
Relative:URL: ^/trunk

Identification: JOSM/1.5 (10109 de) Windows 7 32-Bit
Memory Usage: 247 MB / 742 MB (126 MB allocated, but free)
Java version: 1.8.0_77-b03, Oracle Corporation, Java HotSpot(TM) Client VM
VM arguments: [-Djava.security.manager, -Djava.security.policy=file:C:\Program Files\Java\jre1.8.0_77\lib\security\javaws.policy, -DtrustProxy=true, -Djnlpx.home=<java.home>\bin, -Djnlpx.origFilenameArg=C:\Program Files\josm-latest-bla.jnlp, -Djnlpx.remove=false, -Djava.util.Arrays.useLegacyMergeSort=true, -Djnlpx.heapsize=256m,768m, -Djnlpx.splashport=59692, -Djnlpx.jvm=<java.home>\bin\javaw.exe, -Djnlpx.vmargs=LURqYXZhLnV0aWwuQXJyYXlzLnVzZUxlZ2FjeU1lcmdlU29ydD10cnVlAA==]
Dataset consistency test: No problems found

Plugins:
- AddrInterpolation (31772)
- DirectDownload (31934)
- DirectUpload (31949)
- HouseNumberTaggingTool (31772)
- Mapillary (32040)
- OpeningHoursEditor (31772)
- Tracer2 (32042)
- apache-commons (31895)
- apache-http (31895)
- buildings_tools (31895)
- editgpx (31772)
- imagery_offset_db (32046)
- log4j (31895)
- measurement (31895)
- photo_geotagging (31895)
- photoadjust (32016)
- reverter (32005)
- tag2link (31910)
- tagging-preset-tester (31895)
- terracer (31895)
- todo (29154)
- turnrestrictions (31895)
- undelete (31895)
- utilsplugin2 (32099)
- wikipedia (32114)

Tagging presets:
- D:\Stefan\OSM\JOSMSVN\data\defaultpresets.xml
- D:\Stefan\OSM\TestNew\newpresets.xml
- http://zibi.openstreetmap.org.pl/kendzi/k/Simple3dPreset/s3db-preset.zip
- https://josm.openstreetmap.de/josmfile?page=Presets/OneClick&zip=1
- https://josm.openstreetmap.de/josmfile?page=Presets/StolpersteineLight&zip=1

Map paint styles:
- D:\Stefan\OSM\JOSMSVN\styles\standard\elemstyles.mapcss
- D:\Stefan\OSM\TestNew\newicons.mapcss
- D:\Stefan\OSM\eigene styles\PriorityRoad\PriorityRoad_1.0.mapcss
- D:\Stefan\OSM\eigene styles\SpecificBuildingValues\SpecificBuildingValues.mapcss
- D:\Stefan\OSM\eigene styles\Tourenplanung.mapcss
- D:\Stefan\OSM\eigene styles\area-symbol.zip
- D:\Stefan\OSM\patches\old MPs\dataquality.mapcss
- http://www.freietonne.de/ft_icons/josm/FreieTonne_rules_presets_zip.php
- http://www.openrailwaymap.org/styles/standard.mapcss
- https://github.com/bastik/mapcss-tools/raw/osm/mapnik2mapcss/osm-results/mapnik.zip
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_buildings&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Cycleways&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/DestinationSignRelation&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/HiDPISupport&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_and_Road_Attributes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/LayerChecker&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lit&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/LitObjects&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Maxspeed&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/MaxspeedIcons&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Modified&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/NewHighwayColors&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Osmc&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/ShowID&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Surface&style&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Traffic_signs&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/sac_scale&zip=1
- https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.mapcss

Validator rules:
- D:\Stefan\OSM\TestNew\new.validator.mapcss
- https://raw.githubusercontent.com/stefan-a-bauer/josm-validators/master/mtb.validator.mapcss

Attachments (0)

Change History (8)

comment:1 by Don-vip, 7 years ago

Cc: stoecker added
Keywords: preset combo default value added

Behaviour comes from gui.tagging.presets.items.Combo:

            // default is set and all items were unset
            if (!usage.hadKeys() || PROP_FILL_DEFAULT.get() || "force".equals(use_last_as_default)) {
                // selected osm primitives are untagged or filling default feature is enabled
                combobox.setSelectedItem(lhm.get(def).getDisplayValue(true));
            } else {
                // selected osm primitives are tagged and filling default feature is disabled
                combobox.setSelectedItem("");
            }

This code is intentional and comes from r4050 / #5564.

comment:2 by stoecker, 7 years ago

Resolution: wontfix
Status: newclosed

The presets should not automatically modify existing objects. That's why defaults only apply to untagged objects.

comment:3 by Klumbumbus, 7 years ago

Description: modified (diff)

in reply to:  2 ; comment:4 by Klumbumbus, 7 years ago

Resolution: wontfix
Status: closedreopened

Replying to stoecker:

The presets should not automatically modify existing objects. That's why defaults only apply to untagged objects.

Yes the preset shouldn't override existing tags by its default value. However for keys which are not yet set (like building in the example above), the default tag should be applied when the user clicks on OK (not cancel).

in reply to:  4 ; comment:5 by stoecker, 7 years ago

Resolution: wontfix
Status: reopenedclosed

Replying to Klumbumbus:

Replying to stoecker:

The presets should not automatically modify existing objects. That's why defaults only apply to untagged objects.

Yes the preset shouldn't override existing tags by its default value. However for keys which are not yet set (like building in the example above), the default tag should be applied when the user clicks on OK (not cancel).

No. A single open close will then modify the tags. That is acceptable for untagged objects, as this is probably the wanted effect for these always. For existing objects this is not acceptable. Many users will not be aware of the fact that closing a dialog with OK without changing anything will nevertheless change something. To prevent any such behaviour JOSM simply applies defaults only in case of virgin objects. For anything else the user has to think himself.

And yes, I'm aware that you can argue in many directions. But this policy is there for years and works fine, so there is no reason to change it.

in reply to:  5 comment:6 by Don-vip, 7 years ago

Replying to stoecker:

No. A single open close will then modify the tags.

Didn't think of that, I understand now why the code is there and totally agree.

in reply to:  5 ; comment:7 by Klumbumbus, 7 years ago

Replying to stoecker:

closing a dialog with OK without changing anything will nevertheless change something.

Isn't this the design of the JOSM presets? Nearly all presets (i.e. all with a <key> attribute) behave like this. If I don't want to confirm something then I don't click on OK, but on Cancel or the X button top right.

(I just noticed that the "OK button" is labeled "Apply preset" which makes it even more obvious that something will change when I click this button.)

in reply to:  7 comment:8 by stoecker, 7 years ago

Replying to Klumbumbus:

Replying to stoecker:

closing a dialog with OK without changing anything will nevertheless change something.

Isn't this the design of the JOSM presets? Nearly all presets (i.e. all with a <key> attribute) behave like this. If I don't want to confirm something then I don't click on OK, but on Cancel or the X button top right.

Already used presets are shown in more places than the menu. I would not expect that opening a preset of e.g. a bridge that already is a bridge would change the contents (e.g. by a click of the tag overview in side panel).

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.