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
|
140 | 140 | |
141 | 141 | readPreferences(); |
142 | 142 | snapHelper.init(); |
| 143 | readPreferences(); |
143 | 144 | } |
144 | 145 | |
145 | 146 | private JCheckBoxMenuItem addMenuItem() { |
… |
… |
public class DrawAction extends MapMode implements MapViewPaintable, SelectionCh
|
238 | 239 | ignoreNextKeyRelease = true; |
239 | 240 | } |
240 | 241 | |
241 | | private void readPreferences() { |
| 242 | @Override |
| 243 | protected void readPreferences() { |
242 | 244 | rubberLineColor = Main.pref.getColor(marktr("helper line"), null); |
243 | 245 | if (rubberLineColor == null) rubberLineColor = PaintColors.SELECTED.get(); |
244 | 246 | |
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
|
294 | 294 | super.enterMode(); |
295 | 295 | Main.map.mapView.addMouseListener(this); |
296 | 296 | Main.map.mapView.addMouseMotionListener(this); |
297 | | readPreferences(); |
298 | 297 | ignoreNextKeyRelease = true; |
299 | 298 | Main.map.keyDetector.addKeyListener(this); |
300 | 299 | Main.map.keyDetector.addModifierListener(this); |
301 | 300 | } |
302 | 301 | |
303 | | private void readPreferences() { |
| 302 | @Override |
| 303 | protected void readPreferences() { |
304 | 304 | initialMoveDelay = Main.pref.getInteger("edit.initial-move-delay", 200); |
305 | 305 | initialMoveThreshold = Main.pref.getInteger("extrude.initial-move-threshold", 1); |
306 | 306 | mainColor = Main.pref.getColor(marktr("Extrude: main line"), null); |
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
|
141 | 141 | Main.map.keyDetector.addModifierListener(this); |
142 | 142 | } |
143 | 143 | |
144 | | private void readPreferences() { |
| 144 | @Override |
| 145 | protected void readPreferences() { |
145 | 146 | guideColor = Main.pref.getColor(marktr("improve way accuracy helper line"), null); |
146 | 147 | if (guideColor == null) guideColor = PaintColors.HIGHLIGHT.get(); |
147 | 148 | |
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;
|
14 | 14 | import org.openstreetmap.josm.gui.layer.Layer; |
15 | 15 | import org.openstreetmap.josm.tools.ImageProvider; |
16 | 16 | import org.openstreetmap.josm.tools.Shortcut; |
| 17 | import org.openstreetmap.josm.data.Preferences.PreferenceChangeEvent; |
| 18 | import org.openstreetmap.josm.data.Preferences.PreferenceChangedListener; |
17 | 19 | |
18 | 20 | /** |
19 | 21 | * A class implementing MapMode is able to be selected as an mode for map editing. |
… |
… |
import org.openstreetmap.josm.tools.Shortcut;
|
21 | 23 | * |
22 | 24 | * MapModes should register/deregister all necessary listeners on the map's view control. |
23 | 25 | */ |
24 | | public abstract class MapMode extends JosmAction implements MouseListener, MouseMotionListener { |
| 26 | public abstract class MapMode extends JosmAction implements MouseListener, MouseMotionListener, PreferenceChangedListener { |
25 | 27 | protected final Cursor cursor; |
26 | 28 | protected boolean ctrl; |
27 | 29 | protected boolean alt; |
… |
… |
public abstract class MapMode extends JosmAction implements MouseListener, Mouse
|
40 | 42 | super(name, "mapmode/"+iconName, tooltip, shortcut, false); |
41 | 43 | this.cursor = cursor; |
42 | 44 | putValue("active", Boolean.FALSE); |
| 45 | Main.pref.addPreferenceChangeListener(this); |
43 | 46 | } |
44 | 47 | |
45 | 48 | /** |
… |
… |
public abstract class MapMode extends JosmAction implements MouseListener, Mouse
|
55 | 58 | putValue(SMALL_ICON, ImageProvider.get("mapmode", iconName)); |
56 | 59 | putValue(SHORT_DESCRIPTION, tooltip); |
57 | 60 | this.cursor = cursor; |
| 61 | Main.pref.addPreferenceChangeListener(this); |
58 | 62 | } |
59 | 63 | |
60 | 64 | /** |
… |
… |
public abstract class MapMode extends JosmAction implements MouseListener, Mouse
|
83 | 87 | return ""; |
84 | 88 | } |
85 | 89 | |
| 90 | protected void readPreferences() {} |
| 91 | |
86 | 92 | /** |
87 | 93 | * Call selectMapMode(this) on the parent mapFrame. |
88 | 94 | */ |
… |
… |
public abstract class MapMode extends JosmAction implements MouseListener, Mouse
|
159 | 165 | public void mouseDragged(MouseEvent e) { |
160 | 166 | // Do nothing |
161 | 167 | } |
| 168 | |
| 169 | @Override |
| 170 | public void preferenceChanged(PreferenceChangeEvent e) { |
| 171 | readPreferences(); |
| 172 | } |
162 | 173 | } |