Changeset 158 in josm


Ignore:
Timestamp:
2006-10-08T21:45:13+02:00 (18 years ago)
Author:
imi
Message:
  • added possibility to support a locale in .josm/lang/*.jar
  • fixed bug that displayed the layer's context menu at wrong place
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • .classpath

    r154 r158  
    88        <classpathentry kind="lib" path="lib/MinML2.jar"/>
    99        <classpathentry kind="lib" path="lib/metadata-extractor-2.3.1.jar"/>
    10         <classpathentry kind="lib" path="lib/gettext-commons-0.9.jar"/>
     10        <classpathentry sourcepath="C:/Download/gettext-commons-0.9-src.zip" kind="lib" path="lib/gettext-commons-0.9.jar"/>
    1111        <classpathentry exported="true" kind="lib" path="po"/>
    1212        <classpathentry kind="lib" path="lib/easymock.jar"/>
  • src/org/openstreetmap/josm/actions/DownloadAction.java

    r153 r158  
    262262                        else if (!anySelected)
    263263                                JOptionPane.showMessageDialog(Main.parent,tr("Please select at least one download data type."));
    264                 } while (b == null && anySelected);
     264                } while (b == null || !anySelected);
    265265
    266266                double minlon = b.latlon[0];
  • src/org/openstreetmap/josm/actions/mapmode/MoveAction.java

    r151 r158  
    8383                if (selectionMode)
    8484                        return;
    85                
     85
    8686                if (mousePos == null)
    8787                        mousePos = e.getPoint();
     
    131131                OsmPrimitive osm = Main.map.mapView.getNearest(e.getPoint(), (e.getModifiersEx() & MouseEvent.ALT_DOWN_MASK) != 0);
    132132                if (osm != null) {
    133                 if (!sel.contains(osm))
    134                         Main.ds.setSelected(osm);
    135                 oldCursor = Main.map.mapView.getCursor();
    136                 Main.map.mapView.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
    137         } else {
    138                 selectionMode = true;
     133                        if (!sel.contains(osm))
     134                                Main.ds.setSelected(osm);
     135                        oldCursor = Main.map.mapView.getCursor();
     136                        Main.map.mapView.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
     137                } else {
     138                        selectionMode = true;
    139139                        selectionManager.register(Main.map.mapView);
    140         }
     140                }
    141141
    142142                Main.map.mapView.repaint();
     
    156156        }
    157157
    158        
     158
    159159        public void selectionEnded(Rectangle r, boolean alt, boolean shift, boolean ctrl) {
    160160                SelectionAction.selectEverythingInRectangle(selectionManager, r, alt, shift, ctrl);
    161     }
     161        }
    162162}
  • src/org/openstreetmap/josm/gui/dialogs/LayerListDialog.java

    r155 r158  
    66import java.awt.Component;
    77import java.awt.GridLayout;
     8import java.awt.Point;
    89import java.awt.event.ActionEvent;
    910import java.awt.event.ActionListener;
     
    4950         */
    5051        static JList instance;
    51 
     52        private JScrollPane listScrollPane;
     53       
    5254        public final static class DeleteLayerAction extends AbstractAction {
    5355
     
    120122                super(tr("Layers"), "layerlist", tr("Open a list of all loaded layers."), KeyEvent.VK_L, 100);
    121123                instance = new JList(model);
    122                 add(new JScrollPane(instance), BorderLayout.CENTER);
     124                listScrollPane = new JScrollPane(instance);
     125                add(listScrollPane, BorderLayout.CENTER);
    123126                instance.setBackground(UIManager.getColor("Button.background"));
    124127                instance.setCellRenderer(new DefaultListCellRenderer(){
     
    160163                                Layer layer = (Layer)instance.getModel().getElementAt(index);
    161164                                LayerListPopup menu = new LayerListPopup(instance, layer);
    162                                 menu.show(LayerListDialog.this, e.getX(), e.getY());
     165                                Point p = listScrollPane.getMousePosition();
     166                                menu.show(listScrollPane, p.x, p.y-3);
    163167                        }
    164168                        @Override public void mousePressed(MouseEvent e) {
  • src/org/openstreetmap/josm/tools/I18n.java

    r115 r158  
    11package org.openstreetmap.josm.tools;
    22
     3import java.io.File;
     4import java.net.URL;
     5import java.net.URLClassLoader;
    36import java.text.MessageFormat;
    47import java.util.Locale;
     
    1518public class I18n {
    1619        private static org.xnap.commons.i18n.I18n i18n;
    17        
     20
    1821        static {
     22                String localeFile = Main.pref.getPreferencesDir()+"lang/"+Locale.getDefault()+".jar";
     23                Class<?> klass = Main.class;
     24                if (new File(localeFile).exists()) {
     25                        try {
     26                                String url = localeFile.replace('\\','/');
     27                                if (System.getProperty("os.name").startsWith("Windows"))
     28                                        url = "file:/"+url;
     29                                else
     30                                        url = "file://"+url;
     31                        URLClassLoader loader = new URLClassLoader(new URL[]{new URL(url)});
     32                        klass = Class.forName("org.openstreetmap.josm.Translation_"+Locale.getDefault(), true, loader);
     33                } catch (Exception e) {
     34                        System.out.println("Couldn't load locale file "+localeFile);
     35                        e.printStackTrace();
     36                }
     37                }
    1938                try {
    20                 i18n = I18nFactory.getI18n(Main.class);
    21         } catch (MissingResourceException e) {
    22                 System.out.println("Locale '"+Locale.getDefault()+"' not found. Using default.");
    23         }
     39                        i18n = I18nFactory.getI18n(klass);
     40                } catch (MissingResourceException e) {
     41                        System.out.println("Locale '"+Locale.getDefault()+"' not found. Using default.");
     42                }
    2443        }
    25        
     44
    2645        public static String tr(String text, Object... objects) {
    2746                if (i18n == null)
     
    3958                if (i18n == null)
    4059                        return n == 1 ? tr(text, objects) : tr(pluralText, objects);
    41                 return i18n.trn(text, pluralText, n, objects);
     60                        return i18n.trn(text, pluralText, n, objects);
    4261        }
    4362
     
    4564                if (i18n == null)
    4665                        return n == 1 ? tr(text) : tr(pluralText);
    47                 return i18n.trn(text, pluralText, n);
     66                        return i18n.trn(text, pluralText, n);
    4867        }
    4968}
  • test/org/openstreetmap/josm/data/osm/visitor/AllNodesVisitorTest.java

    r146 r158  
    22
    33import java.util.Collection;
    4 import java.util.Iterator;
    54import java.util.LinkedList;
    65
     
    3130                s.visit(v);
    3231                assertEquals(2, v.nodes.size());
    33                 Iterator<Node> it = v.nodes.iterator();
    34                 assertSame(s.from, it.next());
    35                 assertSame(s.to, it.next());
     32                assertTrue(v.nodes.contains(s.from));
     33                assertTrue(v.nodes.contains(s.to));
    3634        }
    3735
     
    4139                int numberOfNodes = 2*w.segments.size();
    4240                assertEquals(numberOfNodes, v.nodes.size());
    43                 Iterator<Node> itNodes = v.nodes.iterator();
    44                 Iterator<Segment> it = w.segments.iterator();
    45                 for (int i = 0; i < numberOfNodes; ++i)
    46                         assertSame(i%2==0?it.next().from:it.next().to, itNodes.next());
     41                for (Segment s : w.segments) {
     42                        assertTrue(v.nodes.contains(s.from));
     43                        assertTrue(v.nodes.contains(s.to));
     44                }
    4745        }
    4846
  • test/org/openstreetmap/josm/testframework/MotherObject.java

    r146 r158  
    9090                assertEquals(0, copy.size());
    9191    }
     92       
     93        /**
     94         * To have JUnit shut up.
     95         */
     96        public void test() {
     97        }
    9298}
Note: See TracChangeset for help on using the changeset viewer.