Changeset 1439 in josm for trunk/src/org


Ignore:
Timestamp:
2009-02-24T18:23:53+01:00 (15 years ago)
Author:
stoecker
Message:

fixed #2232

Location:
trunk/src/org/openstreetmap/josm/data
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/Preferences.java

    r1424 r1439  
    479479    synchronized public Collection<String> getCollection(String key, Collection<String> def) {
    480480        String s = get(key);
     481        if(def != null)
     482        {
     483            String d = null;
     484            for(String a : def)
     485            {
     486                if(d != null)
     487                    d += ";" + a;
     488                else
     489                    d = a;
     490            }
     491            putDefault(key, d);
     492        }
    481493        if(s != null && s.length() != 0)
    482494           return Arrays.asList(s.split(";"));
  • trunk/src/org/openstreetmap/josm/data/osm/Relation.java

    r1200 r1439  
    44import static org.openstreetmap.josm.tools.I18n.trn;
    55
     6import java.util.Arrays;
    67import java.util.ArrayList;
     8import java.util.Collection;
    79import java.util.List;
    810
    911import org.openstreetmap.josm.data.osm.visitor.Visitor;
     12import org.openstreetmap.josm.Main;
    1013
    1114/**
     
    2124     */
    2225    public final List<RelationMember> members = new ArrayList<RelationMember>();
     26
     27    final static String[] defnames = {"name", "ref", "restriction", "note"};
     28    static Collection<String> names = null;
    2329
    2430    @Override public void visit(Visitor visitor) {
     
    8288
    8389            name += " (";
    84             String nameTag = get("name");
    85             if (nameTag == null) nameTag = get("ref");
    86             if (nameTag == null) nameTag = get("note");
    87             if (nameTag != null) name += "\"" + nameTag + "\", ";
     90            if(names == null)
     91              names = Main.pref.getCollection("relation.nameOrder", Arrays.asList(defnames));
     92            String nameTag = null;
     93            for (String n : names) {
     94                nameTag = get(n);
     95                if (nameTag != null) break;
     96            }
     97            if (nameTag != null)
     98                name += "\"" + nameTag + "\", ";
     99
    88100            int mbno = members.size();
    89101            name += trn("{0} member", "{0} members", mbno, mbno) + ")";
  • trunk/src/org/openstreetmap/josm/data/osm/visitor/MapPaintVisitor.java

    r1423 r1439  
    1616import java.awt.Stroke;
    1717import java.awt.geom.GeneralPath;
     18import java.util.Arrays;
    1819import java.util.ArrayList;
    1920import java.util.Collection;
     
    6465    protected double circum;
    6566    protected double dist;
    66     protected String regionalNameOrder[];
     67    protected Collection<String> regionalNameOrder;
    6768    protected Boolean selectedCall;
    6869    protected Boolean useStyleCache;
     
    10941095        String name = null;
    10951096        if (n.keys != null) {
    1096             for (int i = 0; i < regionalNameOrder.length; i++) {
    1097                 name = n.keys.get(regionalNameOrder[i]);
     1097            for (String rn : regionalNameOrder) {
     1098                name = n.keys.get(rn);
    10981099                if (name != null) break;
    10991100            }
     
    12441245        leftHandTraffic = Main.pref.getBoolean("mappaint.lefthandtraffic",false);
    12451246        orderFont = new Font(Main.pref.get("mappaint.font","Helvetica"), Font.PLAIN, Main.pref.getInteger("mappaint.fontsize", 8));
    1246         String currentLocale = Locale.getDefault().getLanguage();
    1247         regionalNameOrder = Main.pref.get("mappaint.nameOrder", "name:"+currentLocale+";name;int_name;ref;operator;brand").split(";");
     1247        String[] names = {"name:"+Main.getLanguageCode(), "name", "int_name", "ref", "operator", "brand"};
     1248        regionalNameOrder = Main.pref.getCollection("mappaint.nameOrder", Arrays.asList(names));
    12481249        minEN = nc.getEastNorth(0,nc.getHeight()-1);
    12491250        maxEN = nc.getEastNorth(nc.getWidth()-1,0);
Note: See TracChangeset for help on using the changeset viewer.