Ticket #12417: MapModePreferenceChangedListener.patch

File MapModePreferenceChangedListener.patch, 5.0 KB (added by kolesar, 8 years ago)
  • src/org/openstreetmap/josm/actions/mapmode/DrawAction.java

    diff --git a/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java b/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
    index bdc4aad..8ee76cf 100644
    a b public class DrawAction extends MapMode implements MapViewPaintable, SelectionCh  
    140140
    141141        readPreferences();
    142142        snapHelper.init();
     143        readPreferences();
    143144    }
    144145
    145146    private JCheckBoxMenuItem addMenuItem() {
    public class DrawAction extends MapMode implements MapViewPaintable, SelectionCh  
    238239        ignoreNextKeyRelease = true;
    239240    }
    240241
    241     private void readPreferences() {
     242    @Override
     243    protected void readPreferences() {
    242244        rubberLineColor = Main.pref.getColor(marktr("helper line"), null);
    243245        if (rubberLineColor == null) rubberLineColor = PaintColors.SELECTED.get();
    244246
  • src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java

    diff --git a/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java b/src/org/openstreetmap/josm/actions/mapmode/ExtrudeAction.java
    index 0e017a4..18d28fb 100644
    a b public class ExtrudeAction extends MapMode implements MapViewPaintable, KeyPress  
    294294        super.enterMode();
    295295        Main.map.mapView.addMouseListener(this);
    296296        Main.map.mapView.addMouseMotionListener(this);
    297         readPreferences();
    298297        ignoreNextKeyRelease = true;
    299298        Main.map.keyDetector.addKeyListener(this);
    300299        Main.map.keyDetector.addModifierListener(this);
    301300    }
    302301
    303     private void readPreferences() {
     302    @Override
     303    protected void readPreferences() {
    304304        initialMoveDelay = Main.pref.getInteger("edit.initial-move-delay", 200);
    305305        initialMoveThreshold = Main.pref.getInteger("extrude.initial-move-threshold", 1);
    306306        mainColor = Main.pref.getColor(marktr("Extrude: main line"), null);
  • src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java

    diff --git a/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java b/src/org/openstreetmap/josm/actions/mapmode/ImproveWayAccuracyAction.java
    index 0d343ee..87599f2 100644
    a b public class ImproveWayAccuracyAction extends MapMode implements MapViewPaintabl  
    141141        Main.map.keyDetector.addModifierListener(this);
    142142    }
    143143
    144     private void readPreferences() {
     144    @Override
     145    protected void readPreferences() {
    145146        guideColor = Main.pref.getColor(marktr("improve way accuracy helper line"), null);
    146147        if (guideColor == null) guideColor = PaintColors.HIGHLIGHT.get();
    147148
  • src/org/openstreetmap/josm/actions/mapmode/MapMode.java

    diff --git a/src/org/openstreetmap/josm/actions/mapmode/MapMode.java b/src/org/openstreetmap/josm/actions/mapmode/MapMode.java
    index ba5d48a..ce87902 100644
    a b import org.openstreetmap.josm.gui.MapFrame;  
    1414import org.openstreetmap.josm.gui.layer.Layer;
    1515import org.openstreetmap.josm.tools.ImageProvider;
    1616import org.openstreetmap.josm.tools.Shortcut;
     17import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent;
     18import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener;
    1719
    1820/**
    1921 * A class implementing MapMode is able to be selected as an mode for map editing.
    import org.openstreetmap.josm.tools.Shortcut;  
    2123 *
    2224 * MapModes should register/deregister all necessary listeners on the map's view control.
    2325 */
    24 public abstract class MapMode extends JosmAction implements MouseListener, MouseMotionListener {
     26public abstract class MapMode extends JosmAction implements MouseListener, MouseMotionListener, PreferenceChangedListener {
    2527    protected final Cursor cursor;
    2628    protected boolean ctrl;
    2729    protected boolean alt;
    public abstract class MapMode extends JosmAction implements MouseListener, Mouse  
    4042        super(name, "mapmode/"+iconName, tooltip, shortcut, false);
    4143        this.cursor = cursor;
    4244        putValue("active", Boolean.FALSE);
     45        Main.pref.addPreferenceChangeListener(this);
    4346    }
    4447
    4548    /**
    public abstract class MapMode extends JosmAction implements MouseListener, Mouse  
    5558        putValue(SMALL_ICON, ImageProvider.get("mapmode", iconName));
    5659        putValue(SHORT_DESCRIPTION, tooltip);
    5760        this.cursor = cursor;
     61        Main.pref.addPreferenceChangeListener(this);
    5862    }
    5963
    6064    /**
    public abstract class MapMode extends JosmAction implements MouseListener, Mouse  
    8387        return "";
    8488    }
    8589
     90    protected void readPreferences() {}
     91
    8692    /**
    8793     * Call selectMapMode(this) on the parent mapFrame.
    8894     */
    public abstract class MapMode extends JosmAction implements MouseListener, Mouse  
    159165    public void mouseDragged(MouseEvent e) {
    160166        // Do nothing
    161167    }
     168
     169    @Override
     170    public void preferenceChanged(PreferenceChangeEvent e) {
     171        readPreferences();
     172    }
    162173}