﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
22664	[PATCH] Make tagging presets more flexible	anonymous	team	"I've been mapping traffic signs lately and it's really time consuming to do it for multiple signs at the same point. It's almost always necessary to manually add the signs in the editor because the tagging presets only allow to replace an existing value but not append it.

So I've decided to make the tagging presets more flexible with the option to allow appending of values with the {{{<key>}}} tag. That made it easier but with time a lot more changes made it even better. So I've also added options for the {{{<multiselect>}}} tag and sort options to {{{<group>}}} tag.

Of course the default behavior is unchanged, so old presets will keep working as they had been until now.

Changes to tag {{{<group>}}}:
* new optional attribute {{{sort}}}: Boolean value. If {{{sort}}} is set to {{{false}}} and alphabetically sorting is enabled for preset menu all items in this group will not be sorted.

Changes to tag {{{<key>}}}:
* new optional attribute {{{append}}}: Can contain values {{{default}}} or {{{always}}}, with {{{default}}} value is set for non existing key or appended with value if current value doesn't contain value, with {{{always}}} value is set for non existing key or appended with value regardless if it is already present.
* new optional attribute {{{append_value}}}: When appending current value this value is used instead of value, if {{{append_value}}} is present {{{append}}} can be omitted it will then default to {{{default}}}.
* new optional attribute {{{prefix}}}: When key is empty, the prefix will be added before value, when appending {{{prefix}}} will not be used.
* new optional attribute {{{delimiter}}}: When appending value use {{{delimiter}}} to separate values from each other. Defaults to ; when omitted.

Changes to tag {{{<multiselect>}}}:
* new optional attribute {{{quick_select}}}: Contains a boolean value. If it is {{{true}}} the entries in the list can be selected by single left click without the need to hold down a key on the keyboard.
* new optional attribute {{{prefix}}}: Is added to the begin of the new value.
* added option {{{user}}} to attribute {{{values_sort}}}: if {{{user}}} is set the preset dialog contains arrow buttons to sort the entries of the mulitselect.

Changes to tag {{{<combo>}}}:
* new optional attribute {{{if_needed_only}}}: Contains boolean value. If value is {{{true}}} the preset dialog is only shown if the key doesn't exists or other tags cause it to be shown.

Changes to {{{list_entry}}}:
* new optional attribute {{{delimiter}}}: When value is selected use {{{delimiter}}} to separate value of this list entry from preceding value.

New tag {{{selectgroup}}}:
* Allows tags of {{{list_entry}}} to be grouped together for {{{multiselect}}}. Only one list entry of each {{{selectgroup}}} can be selected at the same time. Also usable to make {{{multiselect}}} behave like a single select list.

For instance with this changes it's now possible to set {{{traffic_sign}}} to {{{DE:101,1012-51;274-30,1042-31}}} with a single multiselect preset item without the risk of accidentally add contradictory signs.
[[Image(preset-dialog.png)]]"	enhancement	new	normal		Core			tagging preset	
