Ticket #6629: coloringpatch2patch2.patch
| File coloringpatch2patch2.patch, 10.8 KB (added by , 15 years ago) |
|---|
-
org/openstreetmap/josm/gui/layer/GpxLayer.java
1406 1406 1407 1407 @Override 1408 1408 public void actionPerformed(ActionEvent e) { 1409 GPXSettingsPanel panel=new GPXSettingsPanel(getName()); 1409 boolean hasLocal=false, hasNonlocal=false; 1410 for(Layer layer : layers) { 1411 if (layer instanceof GpxLayer) { 1412 if (((GpxLayer)layer).isLocalFile) hasLocal=true; 1413 else hasNonlocal=true; 1414 } 1415 } 1416 1417 GPXSettingsPanel panel=new GPXSettingsPanel(getName(), hasLocal, hasNonlocal ); 1410 1418 int answer = JOptionPane.showConfirmDialog(Main.parent, panel, 1411 1419 tr("Customize track drawing"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE); 1412 1420 if (answer == JOptionPane.CANCEL_OPTION || answer == JOptionPane.CLOSED_OPTION) return; 1413 1421 for(Layer layer : layers) { 1414 1422 // save preferences for all layers 1415 panel.savePreferences(layer.getName()); 1423 boolean f=false; 1424 if (layer instanceof GpxLayer) f=((GpxLayer)layer).isLocalFile; 1425 panel.savePreferences(layer.getName(),f); 1416 1426 } 1417 1427 Main.map.repaint(); 1418 1428 } -
org/openstreetmap/josm/gui/preferences/GPXSettingsPanel.java
48 48 private JComboBox waypointLabel = new JComboBox(new String[] {tr("Auto"), /* gpx data field name */ trc("gpx_field", "Name"), 49 49 /* gpx data field name */ trc("gpx_field", "Desc(ription)"), tr("Both"), tr("None")}); 50 50 private String spec; 51 private String specSp = ""; 52 53 public GPXSettingsPanel(String layerName) { 51 private boolean local; // flag to display Localonly checkbox 52 private boolean nonlocal; // flag to display All lines checkbox 53 54 public GPXSettingsPanel(String layerName, boolean local, boolean nonlocal) { 54 55 super(new GridBagLayout()); 55 56 this.spec="layer "+layerName; 56 specSp = ".layer "+spec;57 this.local=local; this.nonlocal=nonlocal; 57 58 initComponents(); 58 59 loadPreferences(); 59 60 } 60 61 61 62 public GPXSettingsPanel() { 62 63 super(new GridBagLayout()); 64 local=false; 63 65 initComponents(); 64 66 loadPreferences(); // preferences -> controls 65 67 } … … 82 84 add(new JLabel(tr("Draw lines between raw GPS points")), GBC.eol().insets(20,0,0,0)); 83 85 if (spec!=null) add(drawRawGpsLinesGlobal, GBC.eol().insets(40,0,0,0)); 84 86 add(drawRawGpsLinesNone, GBC.eol().insets(40,0,0,0)); 85 add(drawRawGpsLinesLocal, GBC.eol().insets(40,0,0,0));86 add(drawRawGpsLinesAll, GBC.eol().insets(40,0,0,0));87 87 if (spec==null || local) add(drawRawGpsLinesLocal, GBC.eol().insets(40,0,0,0)); 88 if (spec==null || nonlocal) add(drawRawGpsLinesAll, GBC.eol().insets(40,0,0,0)); 89 88 90 drawRawGpsLinesActionListener = new ActionListener(){ 89 91 public void actionPerformed(ActionEvent e) { 90 92 boolean f=drawRawGpsLinesNone.isSelected()||drawRawGpsLinesGlobal.isSelected(); … … 200 202 * Loads preferences to UI controls 201 203 */ 202 204 public void loadPreferences () { 205 String specSp = ""; 206 if (spec!=null) specSp = "."+spec; 207 203 208 makeAutoMarkers.setSelected(Main.pref.getBoolean("marker.makeautomarkers", true)); 204 if(spec!=null && !Main.pref.hasKey("draw.rawgps.lines ."+spec)205 && !Main.pref.hasKey("draw.rawgps.lines.local"+spec )){209 if(spec!=null && !Main.pref.hasKey("draw.rawgps.lines"+specSp) 210 && !Main.pref.hasKey("draw.rawgps.lines.local"+specSp)){ 206 211 // no line preferences for layer is found 207 212 drawRawGpsLinesGlobal.setSelected(true); 208 213 } else { 209 Boolean lf = Main.pref.getBoolean("draw.rawgps.lines.local" ,spec, true);210 if(Main.pref.getBoolean("draw.rawgps.lines" ,spec, true)) {214 Boolean lf = Main.pref.getBoolean("draw.rawgps.lines.local"+specSp, true); 215 if(Main.pref.getBoolean("draw.rawgps.lines"+specSp, true)) { 211 216 drawRawGpsLinesAll.setSelected(true); 212 217 } else if (lf) { 213 218 drawRawGpsLinesLocal.setSelected(true); … … 216 221 } 217 222 } 218 223 219 drawRawGpsMaxLineLengthLocal.setText(Integer.toString(Main.pref.getInteger("draw.rawgps.max-line-length.local" ,spec, -1)));220 drawRawGpsMaxLineLength.setText(Integer.toString(Main.pref.getInteger("draw.rawgps.max-line-length" ,spec, 200)));221 forceRawGpsLines.setSelected(Main.pref.getBoolean("draw.rawgps.lines.force" ,spec, false));222 drawGpsArrows.setSelected(Main.pref.getBoolean("draw.rawgps.direction" ,spec, false));223 drawGpsArrowsFast.setSelected(Main.pref.getBoolean("draw.rawgps.alternatedirection" ,spec, false));224 drawGpsArrowsMinDist.setText(Integer.toString(Main.pref.getInteger("draw.rawgps.min-arrow-distance" ,spec, 40)));225 hdopCircleGpsPoints.setSelected(Main.pref.getBoolean("draw.rawgps.hdopcircle" ,spec, false));226 largeGpsPoints.setSelected(Main.pref.getBoolean("draw.rawgps.large" ,spec, false));224 drawRawGpsMaxLineLengthLocal.setText(Integer.toString(Main.pref.getInteger("draw.rawgps.max-line-length.local"+specSp, -1))); 225 drawRawGpsMaxLineLength.setText(Integer.toString(Main.pref.getInteger("draw.rawgps.max-line-length"+specSp, 200))); 226 forceRawGpsLines.setSelected(Main.pref.getBoolean("draw.rawgps.lines.force"+specSp, false)); 227 drawGpsArrows.setSelected(Main.pref.getBoolean("draw.rawgps.direction"+specSp, false)); 228 drawGpsArrowsFast.setSelected(Main.pref.getBoolean("draw.rawgps.alternatedirection"+specSp, false)); 229 drawGpsArrowsMinDist.setText(Integer.toString(Main.pref.getInteger("draw.rawgps.min-arrow-distance"+specSp, 40))); 230 hdopCircleGpsPoints.setSelected(Main.pref.getBoolean("draw.rawgps.hdopcircle"+specSp, false)); 231 largeGpsPoints.setSelected(Main.pref.getBoolean("draw.rawgps.large"+specSp, false)); 227 232 drawRawGpsLinesActionListener.actionPerformed(null); 228 233 229 if(spec!=null && !Main.pref.hasKey("draw.rawgps.colors ."+spec)) {234 if(spec!=null && !Main.pref.hasKey("draw.rawgps.colors"+specSp)) { 230 235 colorTypeGlobal.setSelected(true); 231 236 colorDynamic.setSelected(false); 232 237 colorDynamic.setEnabled(false); 233 238 } else { 234 switch(Main.pref.getInteger("draw.rawgps.colors" ,spec, 0)) {239 switch(Main.pref.getInteger("draw.rawgps.colors"+specSp, 0)) { 235 240 case 0: colorTypeNone.setSelected(true); break; 236 241 case 1: colorTypeVelocity.setSelected(true); break; 237 242 case 2: colorTypeDilution.setSelected(true); break; 238 243 case 3: colorTypeDirection.setSelected(true); break; 239 244 case 4: colorTypeTime.setSelected(true); break; 240 245 } 241 int ccts = Main.pref.getInteger("draw.rawgps.colorTracksTune" ,spec, 45);246 int ccts = Main.pref.getInteger("draw.rawgps.colorTracksTune"+specSp, 45); 242 247 colorTypeVelocityTune.setSelectedIndex(ccts==10 ? 2 : (ccts==20 ? 1 : 0)); 243 248 colorTypeVelocityTune.setEnabled(colorTypeVelocity.isSelected() && colorTypeVelocity.isEnabled()); 244 colorDynamic.setSelected(Main.pref.getBoolean("draw.rawgps.colors.dynamic" ,spec, false));249 colorDynamic.setSelected(Main.pref.getBoolean("draw.rawgps.colors.dynamic"+specSp, false)); 245 250 colorDynamic.setEnabled(colorTypeVelocity.isSelected() || colorTypeDilution.isSelected()); 246 251 } 247 252 if(spec != null) … … 255 260 * Save preferences from UI controls for specified layer 256 261 * if spec==null, global preferences are written 257 262 */ 258 public boolean savePreferences (String spec) { 263 public boolean savePreferences (String layerName, boolean locLayer) { 264 String specSp = ""; 265 if (spec!=null) specSp = ".layer "+layerName; 266 259 267 Main.pref.put("marker.makeautomarkers"+specSp, makeAutoMarkers.isSelected()); 260 268 if (drawRawGpsLinesGlobal.isSelected()) { 261 Main.pref.put("draw.rawgps.lines"+specSp, null); 262 Main.pref.put("draw.rawgps.lines.local"+specSp, null); 263 Main.pref.put("draw.rawgps.max-line-length"+specSp, null); 264 Main.pref.put("draw.rawgps.max-line-length.local"+specSp, null); 269 if (!locLayer) { 270 Main.pref.put("draw.rawgps.lines"+specSp, null); 271 Main.pref.put("draw.rawgps.max-line-length"+specSp, null); 272 } else { 273 Main.pref.put("draw.rawgps.lines.local"+specSp, null); 274 Main.pref.put("draw.rawgps.max-line-length.local"+specSp, null); 275 } 265 276 Main.pref.put("draw.rawgps.lines.force"+specSp, null); 266 277 Main.pref.put("draw.rawgps.direction"+specSp, null); 267 278 Main.pref.put("draw.rawgps.alternatedirection"+specSp, null); 268 279 Main.pref.put("draw.rawgps.min-arrow-distance"+specSp, null); 269 280 } else { 270 Main.pref.put("draw.rawgps.lines"+specSp, drawRawGpsLinesAll.isSelected()); 271 Main.pref.put("draw.rawgps.lines.local"+specSp, drawRawGpsLinesAll.isSelected() || drawRawGpsLinesLocal.isSelected()); 272 Main.pref.put("draw.rawgps.max-line-length"+specSp, drawRawGpsMaxLineLength.getText()); 273 Main.pref.put("draw.rawgps.max-line-length.local"+specSp, drawRawGpsMaxLineLengthLocal.getText()); 281 if (!locLayer) { 282 Main.pref.put("draw.rawgps.lines"+specSp, drawRawGpsLinesAll.isSelected()); 283 Main.pref.put("draw.rawgps.max-line-length"+specSp, drawRawGpsMaxLineLength.getText()); 284 } else { 285 Main.pref.put("draw.rawgps.lines.local"+specSp, drawRawGpsLinesAll.isSelected() || drawRawGpsLinesLocal.isSelected()); 286 Main.pref.put("draw.rawgps.max-line-length.local"+specSp, drawRawGpsMaxLineLengthLocal.getText()); 287 } 274 288 Main.pref.put("draw.rawgps.lines.force"+specSp, forceRawGpsLines.isSelected()); 275 289 Main.pref.put("draw.rawgps.direction"+specSp, drawGpsArrows.isSelected()); 276 290 Main.pref.put("draw.rawgps.alternatedirection"+specSp, drawGpsArrowsFast.isSelected()); … … 308 322 * Save preferences from UI controls for initial layer or globally 309 323 */ 310 324 public void savePreferences() { 311 savePreferences(null );325 savePreferences(null, false); 312 326 } 313 327 }
