Ignore:
Timestamp:
2012-04-16T22:53:07+02:00 (12 years ago)
Author:
simon04
Message:

tagging presets: fix customized matching for combo elements (broken due to r5172), remove duplicated/inconsistent parsing/interpreting of preset values

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetSearchDialog.java

    r5170 r5196  
    4545import org.openstreetmap.josm.gui.ExtendedDialog;
    4646import org.openstreetmap.josm.gui.preferences.map.TaggingPresetPreference;
    47 import org.openstreetmap.josm.gui.tagging.TaggingPreset.Check;
    48 import org.openstreetmap.josm.gui.tagging.TaggingPreset.Combo;
    4947import org.openstreetmap.josm.gui.tagging.TaggingPreset.Item;
    5048import org.openstreetmap.josm.gui.tagging.TaggingPreset.Key;
     
    5250import org.openstreetmap.josm.gui.tagging.TaggingPreset.Role;
    5351import org.openstreetmap.josm.gui.tagging.TaggingPreset.Roles;
    54 import org.openstreetmap.josm.gui.tagging.TaggingPreset.Text;
    5552
    5653public class TaggingPresetSearchDialog extends ExtendedDialog implements SelectionChangedListener {
     
    122119            }
    123120            for (Item item: preset.data) {
    124                 if (item instanceof Check) {
    125                     tags.add(((Check)item).key.toLowerCase());
    126                 } else if (item instanceof Combo) {
     121                if (item instanceof TaggingPreset.KeyedItem) {
     122                    tags.add(((TaggingPreset.KeyedItem) item).key);
    127123                    // Should combo values also be added?
    128                     tags.add(((Combo)item).key);
    129                 } else if (item instanceof Key) {
    130                     tags.add(((Key) item).key);
    131                     String value = ((Key) item).value;
    132                     if (value != null) {
    133                         tags.add(value);
    134                     }
    135                 } else if (item instanceof Text) {
    136                     tags.add(((Text) item).key);
     124                    if (item instanceof Key && ((Key) item).value != null) {
     125                        tags.add(((Key) item).value);
     126                    }
    137127                } else if (item instanceof Roles) {
    138                     for (Role role: ((Roles) item).roles) {
     128                    for (Role role : ((Roles) item).roles) {
    139129                        tags.add(role.key);
    140130                    }
Note: See TracChangeset for help on using the changeset viewer.