Index: trunk/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java	(revision 6027)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java	(revision 6028)
@@ -2,13 +2,14 @@
 package org.openstreetmap.josm.actions.mapmode;
 
+import static org.openstreetmap.josm.tools.I18n.marktr;
 import static org.openstreetmap.josm.tools.I18n.tr;
 import static org.openstreetmap.josm.tools.I18n.trn;
 
 import java.awt.AWTEvent;
-import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.Cursor;
 import java.awt.Graphics2D;
 import java.awt.Point;
+import java.awt.Stroke;
 import java.awt.Toolkit;
 import java.awt.event.AWTEventListener;
@@ -46,4 +47,5 @@
 import org.openstreetmap.josm.gui.layer.MapViewPaintable;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Pair;
@@ -81,10 +83,11 @@
     final private Cursor cursorImproveLock;
 
-    private final Color guideColor;
-    private final BasicStroke selectTargetWayStroke;
-    private final BasicStroke moveNodeStroke;
-    private final BasicStroke addNodeStroke;
-    private final BasicStroke deleteNodeStroke;
-
+    private Color guideColor;
+    private Stroke selectTargetWayStroke;
+    private Stroke moveNodeStroke;
+    private Stroke addNodeStroke;
+    private Stroke deleteNodeStroke;
+    private int dotSize;
+    
     private boolean selectionChangedBlocked = false;
 
@@ -107,14 +110,4 @@
         cursorImproveLock = ImageProvider.getCursor("crosshair", "lock");
 
-        guideColor = PaintColors.HIGHLIGHT.get();
-        selectTargetWayStroke = new BasicStroke(2, BasicStroke.CAP_ROUND,
-                BasicStroke.JOIN_ROUND);
-        float dash1[] = {4.0f};
-        moveNodeStroke = new BasicStroke(1.0f, BasicStroke.CAP_BUTT,
-                BasicStroke.JOIN_MITER, 10.0f, dash1, 0.0f);
-        addNodeStroke = new BasicStroke(1, BasicStroke.CAP_BUTT,
-                BasicStroke.JOIN_MITER);
-        deleteNodeStroke = new BasicStroke(1, BasicStroke.CAP_BUTT,
-                BasicStroke.JOIN_MITER);
     }
 
@@ -129,4 +122,13 @@
         super.enterMode();
 
+        guideColor = Main.pref.getColor(marktr("iwa guide"), null);
+        if (guideColor == null) guideColor = PaintColors.HIGHLIGHT.get();
+
+        selectTargetWayStroke = GuiHelper.getCustomizedStroke(Main.pref.get("iwa.stroke.select-target", "2"));
+        moveNodeStroke = GuiHelper.getCustomizedStroke(Main.pref.get("iwa.stroke.move-node", "1 6"));
+        addNodeStroke = GuiHelper.getCustomizedStroke(Main.pref.get("iwa.stroke.add-node", "1"));
+        deleteNodeStroke = GuiHelper.getCustomizedStroke(Main.pref.get("iwa.stroke.delete-node", "1"));
+        dotSize = Main.pref.getInteger("iwa.dot-size",6);
+                
         mv = Main.map.mapView;
         mousePos = null;
@@ -309,5 +311,5 @@
             if (candidateNode != null) {
                 p1 = mv.getPoint(candidateNode);
-                g.fillRect(p1.x - 2, p1.y - 2, 6, 6);
+                g.fillRect(p1.x - dotSize/2, p1.y - dotSize/2, dotSize, dotSize);
             }
 
Index: trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java
===================================================================
--- trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(revision 6027)
+++ trunk/src/org/openstreetmap/josm/actions/mapmode/ParallelWayAction.java	(revision 6028)
@@ -6,5 +6,4 @@
 
 import java.awt.AWTEvent;
-import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.Cursor;
@@ -31,4 +30,5 @@
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.data.osm.WaySegment;
+import org.openstreetmap.josm.data.osm.visitor.paint.PaintColors;
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.MapView;
@@ -38,5 +38,7 @@
 import org.openstreetmap.josm.gui.layer.MapViewPaintable;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.tools.Geometry;
+import static org.openstreetmap.josm.tools.I18n.marktr;
 import org.openstreetmap.josm.tools.ImageProvider;
 import org.openstreetmap.josm.tools.Shortcut;
@@ -123,4 +125,8 @@
     private EastNorth helperLineStart;
     private EastNorth helperLineEnd;
+    
+    Stroke helpLineStroke;
+    Stroke refLineStroke;
+    Color mainColor;
 
     public ParallelWayAction(MapFrame mapFrame) {
@@ -148,4 +154,9 @@
         mv.addTemporaryLayer(this);
 
+        helpLineStroke = GuiHelper.getCustomizedStroke(getStringPref("stroke.hepler-line", "1" ));
+        refLineStroke = GuiHelper.getCustomizedStroke(getStringPref("stroke.ref-line", "1 2 2"));
+        mainColor = Main.pref.getColor(marktr("make parallel helper line"), null);
+        if (mainColor == null) mainColor = PaintColors.SELECTED.get();                
+        
         //// Needed to update the mouse cursor if modifiers are changed when the mouse is motionless
         try {
@@ -468,15 +479,12 @@
 
             // FIXME: should clip the line (gets insanely slow when zoomed in on a very long line
-            Stroke refLineStroke = new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL, 10.0f, new float[] {
-                    2f, 2f }, 0f);
             g.setStroke(refLineStroke);
-            g.setColor(Color.RED);
+            g.setColor(mainColor);
             Point p1 = mv.getPoint(referenceSegment.getFirstNode().getEastNorth());
             Point p2 = mv.getPoint(referenceSegment.getSecondNode().getEastNorth());
             g.drawLine(p1.x, p1.y, p2.x, p2.y);
 
-            Stroke helpLineStroke = new BasicStroke(1, BasicStroke.CAP_BUTT, BasicStroke.JOIN_BEVEL);
             g.setStroke(helpLineStroke);
-            g.setColor(Color.RED);
+            g.setColor(mainColor);
             p1 = mv.getPoint(helperLineStart);
             p2 = mv.getPoint(helperLineEnd);
