Ignore:
Timestamp:
2010-05-15T18:59:10+02:00 (14 years ago)
Author:
jttt
Message:

Fix #2234: Translation can cause JosmActions to illegally handle shortcuts

Location:
trunk/src/org/openstreetmap/josm/actions
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/JosmAction.java

    r3244 r3252  
    77
    88import javax.swing.AbstractAction;
    9 import javax.swing.JComponent;
    109
    1110import org.openstreetmap.josm.Main;
     
    7271        sc = shortcut;
    7372        if (sc != null) {
    74             Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(sc.getKeyStroke(), name);
    75             Main.contentPane.getActionMap().put(name, this);
     73            Main.registerActionShortcut(this, sc);
    7674        }
    7775        putValue(SHORT_DESCRIPTION, Main.platform.makeTooltip(tooltip, sc));
     
    9088    public void destroy() {
    9189        if (sc != null) {
    92             Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).remove(sc.getKeyStroke());
    93             Main.contentPane.getActionMap().remove(sc.getKeyStroke());
     90            Main.unregisterActionShortcut(sc);
    9491        }
    9592        MapView.removeLayerChangeListener(layerChangeAdapter);
  • trunk/src/org/openstreetmap/josm/actions/UnselectAllAction.java

    r2512 r3252  
    22package org.openstreetmap.josm.actions;
    33
     4import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
    45import static org.openstreetmap.josm.tools.I18n.tr;
    5 import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
    66
    77import java.awt.event.ActionEvent;
    88import java.awt.event.KeyEvent;
    9 
    10 import javax.swing.JComponent;
    119
    1210import org.openstreetmap.josm.Main;
     
    2220
    2321        // Add extra shortcut C-S-a
    24         Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
    25                 Shortcut.registerShortcut("edit:unselectallfocus", tr("Edit: {0}", tr("Unselect All (Focus)")),
    26                         KeyEvent.VK_A, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT).getKeyStroke(),
    27                         tr("Unselect All"));
     22        Main.registerActionShortcut(this, Shortcut.registerShortcut("edit:unselectallfocus", tr("Edit: {0}", tr("Unselect All (Focus)")),
     23                KeyEvent.VK_A, Shortcut.GROUP_MENU, Shortcut.SHIFT_DEFAULT));
     24
     25
    2826
    2927        // Add extra shortcut ESCAPE
     
    3331         * for now this is a reasonable approximation.
    3432         */
    35         Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
    36                 Shortcut.registerShortcut("edit:unselectallescape", tr("Edit: {0}", tr("Unselect All (Escape)")),
    37                         KeyEvent.VK_ESCAPE, Shortcut.GROUP_DIRECT).getKeyStroke(),
    38                         tr("Unselect All"));
     33        Main.registerActionShortcut(this, Shortcut.registerShortcut("edit:unselectallescape", tr("Edit: {0}", tr("Unselect All (Escape)")),
     34                KeyEvent.VK_ESCAPE, Shortcut.GROUP_DIRECT));
    3935
    4036        putValue("help", ht("/Action/UnselectAll"));
  • trunk/src/org/openstreetmap/josm/actions/ZoomInAction.java

    r3083 r3252  
    88import java.awt.event.KeyEvent;
    99
    10 import javax.swing.JComponent;
    1110import javax.swing.KeyStroke;
    1211
     
    2524        );
    2625        putValue("help", ht("/Action/ZoomIn"));
    27         // make numpad + behave like + (action is already registred)
    28         Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_ADD,0), tr("Zoom In"));
     26        // make numpad + behave like +
     27        Main.registerActionShortcut(this, KeyStroke.getKeyStroke(KeyEvent.VK_ADD, 0));
    2928    }
    3029
    3130    public void actionPerformed(ActionEvent e) {
    32         Object name = Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).get(KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, 0));
    33         Main.contentPane.getActionMap().put(name, this);
    34 
    3531        if (!Main.isDisplayingMapView()) return;
    3632        Main.map.mapView.zoomToFactor(0.9);
  • trunk/src/org/openstreetmap/josm/actions/ZoomOutAction.java

    r3083 r3252  
    88import java.awt.event.KeyEvent;
    99
    10 import javax.swing.JComponent;
    1110import javax.swing.KeyStroke;
    1211
     
    2120        putValue("help", ht("/Action/ZoomOut"));
    2221        // make numpad - behave like -
    23         Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT,0), tr("Zoom Out"));
     22        Main.registerActionShortcut(this, KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT,0));
    2423    }
    2524
  • trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java

    r3177 r3252  
    3030import java.util.Set;
    3131
    32 import javax.swing.JComponent;
    3332import javax.swing.JOptionPane;
    3433
     
    9594
    9695        // Add extra shortcut N
    97         Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
    98                 Shortcut.registerShortcut("mapmode:drawfocus", tr("Mode: Draw Focus"), KeyEvent.VK_N, Shortcut.GROUP_EDIT).getKeyStroke(), tr("Draw"));
     96        Main.registerActionShortcut(this, Shortcut.registerShortcut("mapmode:drawfocus", tr("Mode: Draw Focus"), KeyEvent.VK_N, Shortcut.GROUP_EDIT));
    9997
    10098        cursorCrosshair = getCursor();
Note: See TracChangeset for help on using the changeset viewer.