Index: /applications/editors/josm/plugins/seachartedit/build.xml
===================================================================
--- /applications/editors/josm/plugins/seachartedit/build.xml	(revision 34554)
+++ /applications/editors/josm/plugins/seachartedit/build.xml	(revision 34555)
@@ -4,5 +4,5 @@
     <property name="commit.message" value="New release"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="13559"/>
+    <property name="plugin.main.version" value="14153"/>
 
     <!-- Configure these properties (replace "..." accordingly).
Index: /applications/editors/josm/plugins/seachartedit/src/panels/PanelMain.java
===================================================================
--- /applications/editors/josm/plugins/seachartedit/src/panels/PanelMain.java	(revision 34554)
+++ /applications/editors/josm/plugins/seachartedit/src/panels/PanelMain.java	(revision 34555)
@@ -28,5 +28,6 @@
 import javax.swing.JTextField;
 
-import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.gui.MainApplication;
+import org.openstreetmap.josm.spi.preferences.Config;
 
 import messages.Messages;
@@ -52,5 +53,5 @@
     };
     private JButton importButton = null;
-    JFileChooser ifc = new JFileChooser(Main.pref.get("nceditplugin.encinpfile"));
+    JFileChooser ifc = new JFileChooser(Config.getPref().get("nceditplugin.encinpfile"));
     private ActionListener alImport = new ActionListener() {
         @Override
@@ -59,8 +60,8 @@
                 SCeditAction.panelS57.setVisible(true);
         setStatus("Select S-57 ENC file for import", Color.yellow);
-                int returnVal = ifc.showOpenDialog(Main.parent);
+                int returnVal = ifc.showOpenDialog(MainApplication.getMainFrame());
                 if (returnVal == JFileChooser.APPROVE_OPTION) {
                     try {
-                        Main.pref.put("smed2plugin.encinpfile", ifc.getSelectedFile().getPath());
+                        Config.getPref().put("smed2plugin.encinpfile", ifc.getSelectedFile().getPath());
                         SCeditAction.panelS57.startImport(ifc.getSelectedFile());
                     } catch (IOException e1) {
@@ -84,5 +85,5 @@
                 SCeditAction.panelS57.setVisible(true);
         setStatus("Select S-57 ENC file for export", Color.yellow);
-        int returnVal = efc.showOpenDialog(Main.parent);
+        int returnVal = efc.showOpenDialog(MainApplication.getMainFrame());
         if (returnVal == JFileChooser.APPROVE_OPTION) {
             try {
Index: /applications/editors/josm/plugins/seachartedit/src/panels/PanelS57.java
===================================================================
--- /applications/editors/josm/plugins/seachartedit/src/panels/PanelS57.java	(revision 34554)
+++ /applications/editors/josm/plugins/seachartedit/src/panels/PanelS57.java	(revision 34555)
@@ -23,9 +23,7 @@
 import javax.swing.JPanel;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.data.Bounds;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
-import org.openstreetmap.josm.data.osm.UploadPolicy;
 import org.openstreetmap.josm.data.osm.Node;
 import org.openstreetmap.josm.data.osm.OsmPrimitive;
@@ -33,7 +31,9 @@
 import org.openstreetmap.josm.data.osm.Relation;
 import org.openstreetmap.josm.data.osm.RelationMember;
+import org.openstreetmap.josm.data.osm.UploadPolicy;
 import org.openstreetmap.josm.data.osm.Way;
 import org.openstreetmap.josm.gui.MainApplication;
 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
+import org.openstreetmap.josm.spi.preferences.Config;
 
 import s57.S57att;
@@ -69,9 +69,9 @@
         FileInputStream in = new FileInputStream(inf);
         PanelMain.setStatus("Select OSM types file", Color.yellow);
-        JFileChooser ifc = new JFileChooser(Main.pref.get("smed2plugin.typesfile"));
-        ifc.setSelectedFile(new File(Main.pref.get("smed2plugin.typesfile")));
-        int returnVal = ifc.showOpenDialog(Main.parent);
+        JFileChooser ifc = new JFileChooser(Config.getPref().get("smed2plugin.typesfile"));
+        ifc.setSelectedFile(new File(Config.getPref().get("smed2plugin.typesfile")));
+        int returnVal = ifc.showOpenDialog(MainApplication.getMainFrame());
         if (returnVal == JFileChooser.APPROVE_OPTION) {
-            Main.pref.put("smed2plugin.typesfile", ifc.getSelectedFile().getPath());
+            Config.getPref().put("smed2plugin.typesfile", ifc.getSelectedFile().getPath());
             Scanner tin = new Scanner(new FileInputStream(ifc.getSelectedFile()), "UTF-8");
             while (tin.hasNext()) {
Index: /applications/editors/josm/plugins/seachartedit/src/scedit/SCeditAction.java
===================================================================
--- /applications/editors/josm/plugins/seachartedit/src/scedit/SCeditAction.java	(revision 34554)
+++ /applications/editors/josm/plugins/seachartedit/src/scedit/SCeditAction.java	(revision 34555)
@@ -15,6 +15,6 @@
 import java.awt.Dimension;
 import java.awt.event.ActionEvent;
-import java.util.Collection;
 import java.util.Map.Entry;
+import java.util.Set;
 
 import javax.swing.JFrame;
@@ -24,6 +24,6 @@
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.SelectionChangedListener;
 import org.openstreetmap.josm.data.coor.LatLon;
+import org.openstreetmap.josm.data.osm.DataSelectionListener;
 import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.Node;
@@ -40,4 +40,5 @@
 import org.openstreetmap.josm.data.osm.event.PrimitivesRemovedEvent;
 import org.openstreetmap.josm.data.osm.event.RelationMembersChangedEvent;
+import org.openstreetmap.josm.data.osm.event.SelectionEventManager;
 import org.openstreetmap.josm.data.osm.event.TagsChangedEvent;
 import org.openstreetmap.josm.data.osm.event.WayNodesChangedEvent;
@@ -52,5 +53,5 @@
 import s57.S57map.Feature;
 
-public class SCeditAction extends JosmAction implements ActiveLayerChangeListener, SelectionChangedListener {
+public class SCeditAction extends JosmAction implements ActiveLayerChangeListener, DataSelectionListener {
     private static String title = tr("SeaChart Editor");
     public static JFrame editFrame = null;
@@ -152,5 +153,5 @@
 
         getLayerManager().addAndFireActiveLayerChangeListener(this);
-        DataSet.addSelectionListener(this);
+        SelectionEventManager.getInstance().addSelectionListener(this);
     }
 
@@ -183,5 +184,5 @@
 
     @Override
-    public void selectionChanged(Collection<? extends OsmPrimitive> selection) {
+    public void selectionChanged(SelectionChangeEvent event) {
         OsmPrimitive nextFeature = null;
         OsmPrimitive feature = null;
@@ -190,4 +191,5 @@
         panelMain.clearMark();
         if (map != null) {
+            Set<OsmPrimitive> selection = event.getSelection();
             for (OsmPrimitive osm : selection) {
                 nextFeature = osm;
