Ticket #2370: localgpxfiles.patch
| File localgpxfiles.patch, 8.3 KB (added by , 17 years ago) |
|---|
-
org/openstreetmap/josm/actions/OpenFileAction.java
# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: Z:\Projects\JOSM\src # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process.
116 116 } 117 117 r = new GpxReader(is,file.getAbsoluteFile().getParentFile()); 118 118 r.data.storageFile = file; 119 GpxLayer gpxLayer = new GpxLayer(r.data, fn );119 GpxLayer gpxLayer = new GpxLayer(r.data, fn, true); 120 120 Main.main.addLayer(gpxLayer); 121 121 if (Main.pref.getBoolean("marker.makeautomarkers", true)) { 122 122 MarkerLayer ml = new MarkerLayer(r.data, tr("Markers from {0}", fn), file, gpxLayer); … … 154 154 NmeaReader r = new NmeaReader(new FileInputStream(file), file.getAbsoluteFile().getParentFile()); 155 155 if(r.getNumberOfCoordinates()>0) { 156 156 r.data.storageFile = file; 157 GpxLayer gpxLayer = new GpxLayer(r.data, fn );157 GpxLayer gpxLayer = new GpxLayer(r.data, fn, true); 158 158 Main.main.addLayer(gpxLayer); 159 159 if (Main.pref.getBoolean("marker.makeautomarkers", true)) { 160 160 MarkerLayer ml = new MarkerLayer(r.data, tr("Markers from {0}", fn), file, gpxLayer); -
org/openstreetmap/josm/gui/layer/GpxLayer.java
82 82 private Color computeCacheColorUsed; 83 83 private colorModes computeCacheColored; 84 84 private int computeCacheColorTracksTune; 85 private boolean isLocalFile; 85 86 86 87 public GpxLayer(GpxData d) { 87 88 super((String) d.attr.get("name")); … … 95 96 this.name = name; 96 97 } 97 98 99 public GpxLayer(GpxData d, String name, boolean isLocal) { 100 this(d); 101 this.name = name; 102 this.isLocalFile = isLocal; 103 } 104 98 105 @Override public Icon getIcon() { 99 106 return ImageProvider.get("layer", "gpx_small"); 100 107 } … … 389 396 // don't draw lines if longer than x meters 390 397 int maxLineLength = Main.pref.getInteger("draw.rawgps.max-line-length", -1); 391 398 // draw line between points, global setting 392 boolean lines = Main.pref.getBoolean("draw.rawgps.lines");399 boolean lines = (Main.pref.getBoolean("draw.rawgps.lines") || (Main.pref.getBoolean("draw.rawgps.lines.localfiles") && this.isLocalFile)); 393 400 String linesKey = "draw.rawgps.lines.layer "+name; 394 401 // draw lines, per-layer setting 395 402 if (Main.pref.hasKey(linesKey)) -
org/openstreetmap/josm/gui/preferences/DrawingPreference.java
26 26 27 27 public class DrawingPreference implements PreferenceSetting { 28 28 29 private JCheckBox drawRawGpsLines = new JCheckBox(tr("Draw lines between raw gps points.")); 29 private ButtonGroup gpsLinesGroup; 30 private JRadioButton drawRawGpsLinesAll = new JRadioButton(tr("All")); 31 private JRadioButton drawRawGpsLinesLocal = new JRadioButton(tr("Local files")); 32 private JRadioButton drawRawGpsLinesNone = new JRadioButton(tr("None")); 33 private ActionListener drawRawGpsLinesActionListener; 30 34 private JTextField drawRawGpsMaxLineLength = new JTextField(8); 31 35 private JCheckBox forceRawGpsLines = new JCheckBox(tr("Force lines if no segments imported.")); 32 36 private JCheckBox largeGpsPoints = new JCheckBox(tr("Draw large GPS points.")); … … 53 57 panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); 54 58 55 59 // drawRawGpsLines 56 drawRawGpsLines.addActionListener(new ActionListener(){ 60 gpsLinesGroup = new ButtonGroup(); 61 gpsLinesGroup.add(drawRawGpsLinesNone); 62 gpsLinesGroup.add(drawRawGpsLinesLocal); 63 gpsLinesGroup.add(drawRawGpsLinesAll); 64 65 if(Main.pref.getBoolean("draw.rawgps.lines")) { 66 drawRawGpsLinesAll.setSelected(true); 67 } else if (Main.pref.getBoolean("draw.rawgps.lines.localfiles")) { 68 drawRawGpsLinesLocal.setSelected(true); 69 } else { 70 drawRawGpsLinesNone.setSelected(true); 71 } 72 73 panel.add(new JLabel(tr("Draw lines between raw GPS points")), GBC.eol().insets(20,0,0,0)); 74 panel.add(drawRawGpsLinesNone, GBC.eol().insets(40,0,0,0)); 75 panel.add(drawRawGpsLinesLocal, GBC.eol().insets(40,0,0,0)); 76 panel.add(drawRawGpsLinesAll, GBC.eol().insets(40,0,0,0)); 77 78 drawRawGpsLinesActionListener = new ActionListener(){ 57 79 public void actionPerformed(ActionEvent e) { 58 forceRawGpsLines.setEnabled( drawRawGpsLines.isSelected());59 drawRawGpsMaxLineLength.setEnabled( drawRawGpsLines.isSelected());60 drawGpsArrows.setEnabled( drawRawGpsLines.isSelected());80 forceRawGpsLines.setEnabled(!drawRawGpsLinesNone.isSelected()); 81 drawRawGpsMaxLineLength.setEnabled(!drawRawGpsLinesNone.isSelected()); 82 drawGpsArrows.setEnabled(!drawRawGpsLinesNone.isSelected() ); 61 83 drawGpsArrowsFast.setEnabled(drawGpsArrows.isSelected() && drawGpsArrows.isEnabled()); 62 84 drawGpsArrowsMinDist.setEnabled(drawGpsArrows.isSelected() && drawGpsArrows.isEnabled()); 63 85 } 64 }); 65 drawRawGpsLines.setSelected(Main.pref.getBoolean("draw.rawgps.lines")); 66 drawRawGpsLines.setToolTipText(tr("If your gps device draws too few lines, select this to draw lines along your way.")); 67 panel.add(drawRawGpsLines, GBC.eol().insets(20,0,0,0)); 86 }; 68 87 88 drawRawGpsLinesNone.addActionListener(drawRawGpsLinesActionListener); 89 drawRawGpsLinesLocal.addActionListener(drawRawGpsLinesActionListener); 90 drawRawGpsLinesAll.addActionListener(drawRawGpsLinesActionListener); 91 69 92 // drawRawGpsMaxLineLength 70 93 drawRawGpsMaxLineLength.setText(Integer.toString(Main.pref.getInteger("draw.rawgps.max-line-length", -1))); 71 94 drawRawGpsMaxLineLength.setToolTipText(tr("Maximum length (in meters) to draw lines. Set to '-1' to draw all lines.")); 72 drawRawGpsMaxLineLength.setEnabled( drawRawGpsLines.isSelected());95 drawRawGpsMaxLineLength.setEnabled(!drawRawGpsLinesNone.isSelected()); 73 96 panel.add(new JLabel(tr("Maximum length (meters)")), GBC.std().insets(40,0,0,0)); 74 97 panel.add(drawRawGpsMaxLineLength, GBC.eol().fill(GBC.HORIZONTAL).insets(5,0,0,5)); 75 98 76 99 // forceRawGpsLines 77 100 forceRawGpsLines.setToolTipText(tr("Force drawing of lines if the imported data contain no line information.")); 78 101 forceRawGpsLines.setSelected(Main.pref.getBoolean("draw.rawgps.lines.force")); 79 forceRawGpsLines.setEnabled( drawRawGpsLines.isSelected());102 forceRawGpsLines.setEnabled(!drawRawGpsLinesNone.isSelected()); 80 103 panel.add(forceRawGpsLines, GBC.eop().insets(40,0,0,0)); 81 104 82 105 // drawGpsArrows … … 88 111 }); 89 112 drawGpsArrows.setToolTipText(tr("Draw direction arrows for lines, connecting GPS points.")); 90 113 drawGpsArrows.setSelected(Main.pref.getBoolean("draw.rawgps.direction")); 91 drawGpsArrows.setEnabled( drawRawGpsLines.isSelected());114 drawGpsArrows.setEnabled(!drawRawGpsLinesNone.isSelected()); 92 115 panel.add(drawGpsArrows, GBC.eop().insets(40,0,0,0)); 93 116 94 117 // drawGpsArrowsFast … … 220 243 } 221 244 222 245 public boolean ok() { 223 Main.pref.put("draw.rawgps.lines", drawRawGpsLines.isSelected()); 246 Main.pref.put("draw.rawgps.lines", drawRawGpsLinesAll.isSelected()); 247 Main.pref.put("draw.rawgps.lines.localfiles", drawRawGpsLinesLocal.isSelected()); 224 248 Main.pref.put("draw.rawgps.max-line-length", drawRawGpsMaxLineLength.getText()); 225 249 Main.pref.put("draw.rawgps.lines.force", forceRawGpsLines.isSelected()); 226 250 Main.pref.put("draw.rawgps.direction", drawGpsArrows.isSelected());
