Changeset 1439 in josm


Ignore:
Timestamp:
Feb 24, 2009 6:23:53 PM (4 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.