Changeset 1405 in josm
- Timestamp:
- 2009-02-14T16:11:24+01:00 (16 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
r1400 r1405 34 34 35 35 import org.openstreetmap.josm.Main; 36 import org.openstreetmap.josm.actions.mapmode.SelectAction;37 36 import org.openstreetmap.josm.command.AddCommand; 38 37 import org.openstreetmap.josm.command.ChangeCommand; … … 49 48 import org.openstreetmap.josm.gui.MapFrame; 50 49 import org.openstreetmap.josm.gui.MapView; 50 import org.openstreetmap.josm.gui.layer.Layer; 51 51 import org.openstreetmap.josm.gui.layer.MapViewPaintable; 52 import org.openstreetmap.josm.gui.layer.Layer;53 52 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 54 53 import org.openstreetmap.josm.tools.ImageProvider; … … 69 68 private boolean mouseOnExistingNode; 70 69 private boolean drawHelperLine; 70 private boolean wayIsFinished = false; 71 71 private Point mousePos; 72 72 private Color selectedColor; … … 97 97 selectedColor = Main.pref.getColor(marktr("selected"), Color.red); 98 98 drawHelperLine = Main.pref.getBoolean("draw.helper-line", true); 99 99 wayIsFinished = false; 100 100 101 Main.map.mapView.addMouseListener(this); 101 102 Main.map.mapView.addMouseMotionListener(this); … … 161 162 // A double click equals "user clicked last node again, finish way" 162 163 lastUsedNode = null; 164 wayIsFinished = true; 165 Main.map.selectSelectTool(true); 163 166 return; 164 167 } … … 178 181 boolean newNode = false; 179 182 Node n = null; 180 boolean wayIsFinished = false;181 183 182 184 if (!ctrl) … … 252 254 // If the above does not apply, the selection is cleared and a new try is started 253 255 boolean extendedWay = false; 254 if (!shift && selection.size() > 0) { 256 boolean wayIsFinishedTemp = wayIsFinished; 257 wayIsFinished = false; 258 if (!shift && selection.size() > 0 && !wayIsFinishedTemp) { 255 259 Node selectedNode = null; 256 260 Way selectedWay = null; … … 326 330 if(n0 == n) { 327 331 lastUsedNode = null; 332 wayIsFinished = true; 333 Main.map.selectSelectTool(true); 328 334 return; 329 335 } … … 373 379 Main.ds.setSelected(way); 374 380 } 375 381 376 382 String title; 377 383 if (!extendedWay) { … … 505 511 updateStatusLine(); 506 512 507 if (!drawHelperLine) return; 513 if (!drawHelperLine || wayIsFinished) return; 508 514 509 515 Main.map.mapView.repaint(); -
trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
r1398 r1405 19 19 import org.openstreetmap.josm.actions.MergeNodesAction; 20 20 import org.openstreetmap.josm.command.AddCommand; 21 import org.openstreetmap.josm.command.ChangeCommand; 21 22 import org.openstreetmap.josm.command.Command; 22 import org.openstreetmap.josm.command.ChangeCommand;23 23 import org.openstreetmap.josm.command.MoveCommand; 24 24 import org.openstreetmap.josm.command.RotateCommand; … … 32 32 import org.openstreetmap.josm.data.osm.visitor.AllNodesVisitor; 33 33 import org.openstreetmap.josm.data.osm.visitor.SimplePaintVisitor; 34 import org.openstreetmap.josm.gui.layer.Layer;35 import org.openstreetmap.josm.gui.layer.OsmDataLayer;36 34 import org.openstreetmap.josm.gui.MapFrame; 37 35 import org.openstreetmap.josm.gui.MapView; 38 36 import org.openstreetmap.josm.gui.SelectionManager; 39 37 import org.openstreetmap.josm.gui.SelectionManager.SelectionEnded; 38 import org.openstreetmap.josm.gui.layer.Layer; 39 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 40 40 import org.openstreetmap.josm.tools.ImageProvider; 41 41 import org.openstreetmap.josm.tools.Shortcut; … … 329 329 if (mode == Mode.select) { 330 330 selectionManager.unregister(Main.map.mapView); 331 if(Main.ds.getSelected().size() == 0) 332 Main.map.selectDrawTool(true); 333 return; 331 334 } 332 335 restoreCursor(); -
trunk/src/org/openstreetmap/josm/gui/MapFrame.java
r1332 r1405 112 112 statusLine = new MapStatus(this); 113 113 } 114 115 public void selectSelectTool(boolean onlyIfModeless) { 116 if(onlyIfModeless && !Main.pref.getBoolean("modeless", false)) 117 return; 118 119 selectMapMode((MapMode)getDefaultButtonAction()); 120 } 121 122 public void selectDrawTool(boolean onlyIfModeless) { 123 if(onlyIfModeless && !Main.pref.getBoolean("modeless", false)) 124 return; 125 126 Action drawAction = ((AbstractButton)toolBarActions.getComponent(1)).getAction(); 127 selectMapMode((MapMode)drawAction); 128 } 114 129 115 130 /** -
trunk/src/org/openstreetmap/josm/gui/preferences/LafPreference.java
r1262 r1405 33 33 private JCheckBox showID = new JCheckBox(tr("Show object ID in selection lists")); 34 34 private JCheckBox drawHelperLine = new JCheckBox(tr("Draw rubber-band helper line")); 35 private JCheckBox modeless = new JCheckBox(tr("Modeless working (Potlatch style)")); 35 36 36 37 public void addGui(PreferenceDialog gui) { … … 82 83 panel.add(drawHelperLine, GBC.eop().insets(20, 0, 0, 0)); 83 84 85 modeless.setToolTipText(tr("Do not require to switch modes (potlatch style workflow)")); 86 modeless.setSelected(Main.pref.getBoolean("modeless", false)); 87 panel.add(modeless, GBC.eop().insets(20, 0, 0, 0)); 88 84 89 panel.add(Box.createVerticalGlue(), GBC.eol().insets(0, 20, 0, 0)); 85 90 … … 97 102 Main.pref.put("osm-primitives.showid", showID.isSelected()); 98 103 Main.pref.put("draw.helper-line", drawHelperLine.isSelected()); 104 Main.pref.put("modeless", modeless.isSelected()); 99 105 return Main.pref.put("laf", ((LookAndFeelInfo)lafCombo.getSelectedItem()).getClassName()); 100 106 }
Note:
See TracChangeset
for help on using the changeset viewer.