source: josm/trunk/src/org/openstreetmap/josm/actions/mapmode/SelectLassoAction.java

Last change on this file was 18456, checked in by taylor.smock, 2 years ago

Fix #22065: Mac users cannot deselect with ctrl

From the Mac OS HIG guidelines, "[as] much as possible,
avoid using the Control key as a modifier."

In this case, we were using ctrl to deselect elements (and
we disabled this on Mac), merge nodes, scale, and rotate.

All of those now use (meta) instead of ctrl on Mac.

  • Property svn:eol-style set to native
File size: 1.9 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.actions.mapmode;
3
4import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
5import static org.openstreetmap.josm.tools.I18n.tr;
6
7import java.awt.event.KeyEvent;
8
9import org.openstreetmap.josm.gui.MainApplication;
10import org.openstreetmap.josm.gui.MapFrame;
11import org.openstreetmap.josm.gui.layer.Layer;
12import org.openstreetmap.josm.tools.ImageProvider;
13import org.openstreetmap.josm.tools.Shortcut;
14
15/**
16 * Lasso selection mode: select objects within a hand-drawn region.
17 * @since 15445
18 */
19public class SelectLassoAction extends MapMode {
20
21 /**
22 * Constructs a new {@code SelectLassoAction}.
23 */
24 public SelectLassoAction() {
25 super(tr("Lasso Mode"),
26 /* ICON(mapmode/) */ "rope",
27 tr("Lasso selection mode: select objects within a hand-drawn region"),
28 Shortcut.registerShortcut("mapmode:lasso", tr("Mode: {0}", tr("Lasso Mode")), KeyEvent.CHAR_UNDEFINED, Shortcut.NONE),
29 ImageProvider.getCursor("normal", "rope"));
30 setHelpId(ht("/Action/LassoMode"));
31 }
32
33 @Override
34 public void enterMode() {
35 if (MainApplication.isDisplayingMapView()) {
36 MapFrame map = MainApplication.getMap();
37 map.mapModeSelect.setLassoMode(true);
38 map.mapModeSelect.enterMode();
39 }
40 super.enterMode();
41 }
42
43 @Override
44 public void exitMode() {
45 if (MainApplication.isDisplayingMapView()) {
46 MapFrame map = MainApplication.getMap();
47 map.mapModeSelect.setLassoMode(false);
48 map.mapModeSelect.exitMode();
49 }
50 super.exitMode();
51 }
52
53 @Override
54 public boolean layerIsSupported(Layer l) {
55 return MainApplication.getMap().mapModeSelect.layerIsSupported(l);
56 }
57
58 @Override
59 public String getModeHelpText() {
60 return MainApplication.getMap().mapModeSelect.getModeHelpText();
61 }
62}
Note: See TracBrowser for help on using the repository browser.