Index: /applications/editors/josm/plugins/mappaint/build.xml
===================================================================
--- /applications/editors/josm/plugins/mappaint/build.xml	(revision 2767)
+++ /applications/editors/josm/plugins/mappaint/build.xml	(revision 2768)
@@ -19,6 +19,6 @@
 
 	<target name="build" depends="compile">
-		<copy todir="build/standard/icons">
-			<fileset dir="styles/standard/icons"></fileset>
+		<copy todir="build/standard">
+			<fileset dir="styles/standard"></fileset>
 		</copy>
 		<jar destfile="dist/mappaint.jar" basedir="build">
Index: /applications/editors/josm/plugins/mappaint/src/mappaint/ElemStyleHandler.java
===================================================================
--- /applications/editors/josm/plugins/mappaint/src/mappaint/ElemStyleHandler.java	(revision 2767)
+++ /applications/editors/josm/plugins/mappaint/src/mappaint/ElemStyleHandler.java	(revision 2768)
@@ -104,11 +104,6 @@
                         	curIcon = new ImageIcon(imageFile);
 												} else {
-													URL path = getClass().getResource("/standard/icons/"+atts.getValue(count));
-													if (path != null ) {
+														URL path = getClass().getResource("/standard/icons/amenity.png");
 														curIcon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(path));
-													} else{
-														path = getClass().getResource("/standard/icons/amenity.png");
-														curIcon = new ImageIcon(Toolkit.getDefaultToolkit().createImage(path));
-													}
 												}
                     } else if (atts.getQName(count).equals("annotate"))
Index: /applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintPlugin.java
===================================================================
--- /applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintPlugin.java	(revision 2767)
+++ /applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintPlugin.java	(revision 2768)
@@ -4,4 +4,6 @@
 import java.io.FileReader;
 
+import java.net.URL;
+import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.gui.MapFrame;
 import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
@@ -24,5 +26,6 @@
 
 	public MapPaintPlugin() {
-		styleDir = getPluginDir()+"standard/"; //some day we will support diferent icon directories over options
+		String styleName = Main.pref.get("mappaint.style", "standard");
+		styleDir = getPluginDir()+styleName+"/"; //some day we will support diferent icon directories over options
 		String elemStylesFile = getStyleDir()+"elemstyles.xml";
 		File f = new File(elemStylesFile);
@@ -44,8 +47,7 @@
 			}
 		} 
-		else{ //just for backwards compatibility
-			elemStylesFile = getPluginDir()+"elemstyles.xml";
-			f = new File(elemStylesFile);
-			if (f.exists())
+		else{ //use the standart elemstyle of this style 
+			URL elemStylesPath = getClass().getResource("/"+styleName+"/elemstyles.xml");
+			if (elemStylesPath != null)
 			{
 				try
@@ -57,5 +59,5 @@
 					handler.setElemStyles(elemStyles);
 					// temporary only!
-					xmlReader.parse(new InputSource(new FileReader(f)));
+					xmlReader.parse(new InputSource(elemStylesPath.openStream()));
 				}
 				catch (Exception e)
Index: /applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintVisitor.java
===================================================================
--- /applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintVisitor.java	(revision 2767)
+++ /applications/editors/josm/plugins/mappaint/src/mappaint/MapPaintVisitor.java	(revision 2768)
@@ -91,7 +91,10 @@
 				if (area && fillAreas)
 					//Draw segments in a different colour so direction arrows show against the fill
-					drawSegment(ls, w.selected ? getPreferencesColor("selected", Color.YELLOW) : getPreferencesColor("untagged",Color.GRAY),Main.pref.getBoolean("draw.segment.direction"), width);
+					drawSegment(ls, w.selected ? getPreferencesColor("selected", Color.YELLOW) : getPreferencesColor("untagged",Color.GRAY),Main.pref.getBoolean("draw.segment.direction"), width,true);
 				else
-					drawSegment(ls, w.selected ? getPreferencesColor("selected", Color.YELLOW) : colour,Main.pref.getBoolean("draw.segment.direction"), width);
+					if (area)
+						drawSegment(ls, w.selected ? getPreferencesColor("selected", Color.YELLOW) : colour,Main.pref.getBoolean("draw.segment.direction"), width,true);
+					else
+						drawSegment(ls, w.selected ? getPreferencesColor("selected", Color.YELLOW) : colour,Main.pref.getBoolean("draw.segment.direction"), width,false);
 				if (!ls.incomplete && Main.pref.getBoolean("draw.segment.order_number"))
 				{
@@ -158,10 +161,10 @@
 	// Altered - now specify width
 	@Override protected void drawSegment(Segment ls, Color col,boolean showDirection) {
-			drawSegment(ls,col,showDirection,1);
+			drawSegment(ls,col,showDirection,1,false);
 	}
 
 
 	// Altered - now specify width
-	private void drawSegment (Segment ls, Color col,boolean showDirection, int width) {
+	private void drawSegment (Segment ls, Color col,boolean showDirection, int width,boolean dashed) {
 		//do not draw already visible segments
 		if (ls.shown) return;
@@ -174,5 +177,9 @@
 		g.setColor(col);
 		//g.setWidth(width);
-		g2d.setStroke(new BasicStroke(width));
+		if (dashed) 
+			g2d.setStroke(new BasicStroke(width,BasicStroke.CAP_BUTT,BasicStroke.JOIN_ROUND,0,new float[] {9},0));
+		else 
+			g2d.setStroke(new BasicStroke(width));
+
 		Point p1 = nc.getPoint(ls.from.eastNorth);
 		Point p2 = nc.getPoint(ls.to.eastNorth);
Index: /applications/editors/josm/plugins/mappaint/styles/standard/elemstyles.xml
===================================================================
--- /applications/editors/josm/plugins/mappaint/styles/standard/elemstyles.xml	(revision 2767)
+++ /applications/editors/josm/plugins/mappaint/styles/standard/elemstyles.xml	(revision 2768)
@@ -203,5 +203,5 @@
 <rule>
 <condition k="natural" v="heath"/>
-<line widht="1" colour="#ffffc0"/>
+<line width="1" colour="#ffffc0"/>
 </rule>
 
