Index: /applications/editors/josm/plugins/osmarender/src/OsmarenderPlugin.java
===================================================================
--- /applications/editors/josm/plugins/osmarender/src/OsmarenderPlugin.java	(revision 12602)
+++ /applications/editors/josm/plugins/osmarender/src/OsmarenderPlugin.java	(revision 12603)
@@ -7,4 +7,5 @@
 import java.io.BufferedReader;
 import java.io.FileReader;
+import java.io.File;
 import java.util.Collection;
 import java.util.HashSet;
@@ -19,4 +20,5 @@
 
 import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.LatLon;
@@ -27,4 +29,5 @@
 import org.openstreetmap.josm.data.osm.visitor.CollectBackReferencesVisitor;
 import org.openstreetmap.josm.gui.MapFrame;
+import org.openstreetmap.josm.gui.MainMenu;
 import org.openstreetmap.josm.gui.preferences.PreferenceDialog;
 import org.openstreetmap.josm.gui.preferences.PreferenceSetting;
@@ -35,8 +38,8 @@
 public class OsmarenderPlugin extends Plugin {
 
-	private class Action extends AbstractAction {
+	private class Action extends JosmAction {
 
 		public Action() {
-			super("Osmarender");
+			super(tr("Osmarender"), null, tr("Osmarender"), null, true);
 		}
 
@@ -73,12 +76,12 @@
 			try {
 				// write to plugin dir
-				OsmWriter.output(new FileOutputStream(getPluginDir()+"data.osm"), new OsmWriter.All(fromDataSet, true));
+				OsmWriter.output(new FileOutputStream(getPluginDir()+File.separator+"data.osm"), new OsmWriter.All(fromDataSet, true));
 
 				// get the exec line
 				String exec = firefox;
 				if (System.getProperty("os.name").startsWith("Windows"))
-					exec += " file:///"+getPluginDir().replace('\\','/').replace(" ","%20")+"generated.xml\"";
+					exec += " file:///"+getPluginDir().replace('\\','/').replace(" ","%20")+File.separator+"generated.xml\"";
 				else
-					exec += " "+getPluginDir()+"generated.xml";
+					exec += " "+getPluginDir()+File.separator+"generated.xml";
 
 				// launch up the viewer
@@ -90,22 +93,8 @@
 	}
 
-	private JMenu view;
-	private JMenuItem osmarenderMenu = new JMenuItem(new Action());
+	private JMenuItem osmarenderMenu;
 
 	public OsmarenderPlugin() throws IOException {
-		JMenuBar menu = Main.main.menu;
-		view = null;
-		for (int i = 0; i < menu.getMenuCount(); ++i) {
-			if (menu.getMenu(i) != null && tr("View").equals(menu.getMenu(i).getText())) {
-				view = menu.getMenu(i);
-				break;
-			}
-		}
-		if (view == null) {
-			view = new JMenu(tr("View"));
-			menu.add(view, 2);
-			view.setVisible(false);
-		}
-		view.add(osmarenderMenu);
+		osmarenderMenu = MainMenu.add(Main.main.menu.viewMenu, new Action());
 		osmarenderMenu.setVisible(false);
 
@@ -120,11 +109,7 @@
 			// disable
 			osmarenderMenu.setVisible(false);
-			if (view.getMenuComponentCount() == 1)
-				view.setVisible(false);
 		} else if (oldFrame == null && newFrame != null) {
 			// enable
 			osmarenderMenu.setVisible(true);
-			if (view.getMenuComponentCount() == 1)
-				view.setVisible(true);
 		}
 	}
@@ -154,6 +139,6 @@
 
 		BufferedReader reader = new BufferedReader(
-				new FileReader( getPluginDir() + "osm-map-features.xml") );
-		PrintWriter writer = new PrintWriter( getPluginDir() + "generated.xml");
+				new FileReader( getPluginDir() + File.separator + "osm-map-features.xml") );
+		PrintWriter writer = new PrintWriter( getPluginDir() + File.separator + "generated.xml");
 
 		// osm-map-fetaures.xml contain two placemark
