Changeset 3481 in josm for trunk/src


Ignore:
Timestamp:
2010-08-29T15:30:31+02:00 (14 years ago)
Author:
stoecker
Message:

add use_last_as_default for combos, fix long-time broken tagged/untagged detection for combo-box and textbox default value selection

File:
1 edited

Legend:

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

    r3472 r3481  
    145145                returnValue.hadEmpty = true;
    146146            }
    147             returnValue.hadKeys = ! returnValue.values.isEmpty() | returnValue.hadEmpty;
     147            if(s.hasKeys()) {
     148                returnValue.hadKeys = true;
     149            }
    148150        }
    149151        return returnValue;
     
    347349            // find out if our key is already used in the selection.
    348350            usage = determineTextUsage(sel, key);
     351            String def = default_;
    349352
    350353            String[] value_array = values.split(",");
     
    359362            }
    360363
     364            if(use_last_as_default && def == null && lastValue.containsKey(key))
     365            {
     366                def = lastValue.get(key);
     367            }
     368
    361369            if (display_array.length != value_array.length) {
    362370                System.err.println(tr("Broken tagging preset \"{0}-{1}\" - number of items in display_values must be the same as in values", key, text));
     
    380388                }
    381389            }
    382             if (default_ != null && !lhm.containsKey(default_)) {
    383                 lhm.put(default_, default_);
     390            if (def != null && !lhm.containsKey(def)) {
     391                lhm.put(def, def);
    384392            }
    385393            if(!lhm.containsKey("")) {
     
    400408            }
    401409            // use default only in case it is a totally new entry
    402             else if(default_ != null && !usage.hadKeys()) {
    403                 combo.setSelectedItem(default_);
     410            else if(def != null && !usage.hadKeys()) {
     411                combo.setSelectedItem(def);
    404412                originalValue=DIFFERENT;
    405413            }
     
    452460            if (delete_if_empty && value.length() == 0) {
    453461                value = null;
     462            }
     463            if (use_last_as_default) {
     464                lastValue.put(key, value);
    454465            }
    455466            cmds.add(new ChangePropertyCommand(sel, key, value));
Note: See TracChangeset for help on using the changeset viewer.