Changeset 4897 in josm
- Timestamp:
- 2012-02-02T19:44:03+01:00 (13 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/Main.java
r4869 r4897 76 76 import org.openstreetmap.josm.gui.progress.PleaseWaitProgressMonitor; 77 77 import org.openstreetmap.josm.gui.progress.ProgressMonitorExecutor; 78 import org.openstreetmap.josm.gui.util.RedirectInputMap; 78 79 import org.openstreetmap.josm.io.OsmApi; 79 80 import org.openstreetmap.josm.plugins.PluginHandler; … … 378 379 protected static final JPanel contentPanePrivate = new JPanel(new BorderLayout()); 379 380 380 /** 381 * @deprecated If you just need to register shortcut for action, use registerActionShortcut instead of accessing InputMap directly 382 */ 383 @Deprecated 384 public static final JPanel contentPane = contentPanePrivate; 381 public static void redirectToMainContentPane(JComponent source) { 382 RedirectInputMap.redirect(source, contentPanePrivate); 383 } 385 384 386 385 public static void registerActionShortcut(Action action, Shortcut shortcut) { … … 843 842 /** 844 843 * The projection method used. 845 * @deprecated use {@link #getProjection()} and {@link #setProjection(Projection)} instead. 846 * For the time being still publicly available, but avoid/migrate write access to it. Use 847 * {@link #setProjection(Projection)} in order to trigger a projection change event. 848 */ 849 @Deprecated 850 public static Projection proj; 844 * use {@link #getProjection()} and {@link #setProjection(Projection)} for access. 845 * Use {@link #setProjection(Projection)} in order to trigger a projection change event. 846 */ 847 private static Projection proj; 851 848 852 849 /** -
trunk/src/org/openstreetmap/josm/gui/NavigatableComponent.java
r4874 r4897 666 666 } 667 667 668 @Deprecated669 public final Node getNearestNode(Point p) {670 return getNearestNode(p, OsmPrimitive.isUsablePredicate);671 }672 673 668 /** 674 669 * The *result* does not depend on the current map selection state, … … 887 882 } 888 883 889 @Deprecated890 public final Way getNearestWay(Point p) {891 return getNearestWay(p, OsmPrimitive.isUsablePredicate);892 }893 894 884 /** 895 885 * The *result* does not depend on the current map selection state, … … 1025 1015 1026 1016 return osm; 1027 }1028 1029 @Deprecated1030 public final OsmPrimitive getNearest(Point p, Predicate<OsmPrimitive> predicate) {1031 return getNearestNodeOrWay(p, predicate, false);1032 }1033 1034 @Deprecated1035 public final Collection<OsmPrimitive> getNearestCollection(Point p, Predicate<OsmPrimitive> predicate) {1036 return asColl(getNearest(p, predicate));1037 1017 } 1038 1018 -
trunk/src/org/openstreetmap/josm/gui/dialogs/ToggleDialog.java
r4794 r4897 47 47 import org.openstreetmap.josm.gui.help.Helpful; 48 48 import org.openstreetmap.josm.gui.ShowHideButtonListener; 49 import org.openstreetmap.josm.gui.util.RedirectInputMap;50 49 import org.openstreetmap.josm.gui.SideButton; 51 50 import org.openstreetmap.josm.tools.GBC; … … 150 149 setBorder(BorderFactory.createEtchedBorder()); 151 150 152 RedirectInputMap.redirectToMainContentPane(this);151 Main.redirectToMainContentPane(this); 153 152 154 153 windowMenuItem = MainMenu.addWithCheckbox(Main.main.menu.windowMenu, -
trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java
r4842 r4897 94 94 btnDelete.setPreferredSize(buttonDim); 95 95 Shortcut scDelete = Shortcut.registerShortcut( 96 "geoimage:deleteimagefromlayer", tr("Geoimage: {0}", tr("Remove photo from layer")), KeyEvent.VK_DELETE, Shortcut.GROUP _DIRECT,Shortcut.SHIFT_DEFAULT);96 "geoimage:deleteimagefromlayer", tr("Geoimage: {0}", tr("Remove photo from layer")), KeyEvent.VK_DELETE, Shortcut.GROUPS_ALT1+Shortcut.GROUP_DIRECT); 97 97 Main.registerActionShortcut(delAction, scDelete); 98 98 btnDelete.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDelete.getKeyStroke(), DELETE_TEXT); … … 103 103 btnDeleteFromDisk.setPreferredSize(buttonDim); 104 104 Shortcut scDeleteFromDisk = Shortcut.registerShortcut( 105 "geoimage:deletefilefromdisk", tr("Geoimage: {0}", tr("Delete File from disk")), KeyEvent.VK_DELETE, Shortcut.GROUP _DIRECT, KeyEvent.SHIFT_DOWN_MASK|KeyEvent.CTRL_DOWN_MASK);105 "geoimage:deletefilefromdisk", tr("Geoimage: {0}", tr("Delete File from disk")), KeyEvent.VK_DELETE, Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY); 106 106 final String ADELFROMDISK = "Delete image file from disk"; 107 107 Main.registerActionShortcut(delFromDiskAction, scDeleteFromDisk); -
trunk/src/org/openstreetmap/josm/gui/preferences/PrefJPanel.java
r4766 r4897 6 6 import java.awt.event.KeyEvent; 7 7 import java.util.LinkedHashMap; 8 import java.util.HashMap; 8 9 import java.util.Map; 9 10 … … 459 460 private class bxAction extends javax.swing.AbstractAction { 460 461 public void actionPerformed(java.awt.event.ActionEvent e) { 461 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT), Integer.toString(modifInts[bxPrim1.getSelectedIndex()]));462 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_EDIT), Integer.toString(modifInts[ bxSec1.getSelectedIndex()]));463 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_EDIT), Integer.toString(modifInts[ bxTer1.getSelectedIndex()]));464 465 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU), Integer.toString(modifInts[bxPrim2.getSelectedIndex()]));466 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_MENU), Integer.toString(modifInts[ bxSec2.getSelectedIndex()]));467 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_MENU), Integer.toString(modifInts[ bxTer2.getSelectedIndex()]));468 469 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY), Integer.toString(modifInts[bxPrim3.getSelectedIndex()]));470 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_HOTKEY), Integer.toString(modifInts[ bxSec3.getSelectedIndex()]));471 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_HOTKEY), Integer.toString(modifInts[ bxTer3.getSelectedIndex()]));472 473 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER), Integer.toString(modifInts[bxPrim4.getSelectedIndex()]));474 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_LAYER), Integer.toString(modifInts[ bxSec4.getSelectedIndex()]));475 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_LAYER), Integer.toString(modifInts[ bxTer4.getSelectedIndex()]));462 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT), modifInts[bxPrim1.getSelectedIndex()]); 463 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_EDIT), modifInts[ bxSec1.getSelectedIndex()]); 464 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_EDIT), modifInts[ bxTer1.getSelectedIndex()]); 465 466 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU), modifInts[bxPrim2.getSelectedIndex()]); 467 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_MENU), modifInts[ bxSec2.getSelectedIndex()]); 468 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_MENU), modifInts[ bxTer2.getSelectedIndex()]); 469 470 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY), modifInts[bxPrim3.getSelectedIndex()]); 471 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_HOTKEY), modifInts[ bxSec3.getSelectedIndex()]); 472 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_HOTKEY), modifInts[ bxTer3.getSelectedIndex()]); 473 474 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER), modifInts[bxPrim4.getSelectedIndex()]); 475 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_LAYER), modifInts[ bxSec4.getSelectedIndex()]); 476 Main.pref.putInteger("shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_LAYER), modifInts[ bxTer4.getSelectedIndex()]); 476 477 } 477 478 } 478 479 479 480 private void initbx() { 480 setBx(bxPrim1, "shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT)); 481 setBx(bxSec1, "shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_EDIT)); 482 setBx(bxTer1, "shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_EDIT)); 483 484 setBx(bxPrim2, "shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU)); 485 setBx(bxSec2, "shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_MENU)); 486 setBx(bxTer2, "shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_MENU)); 487 488 setBx(bxPrim3, "shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY)); 489 setBx(bxSec3, "shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_HOTKEY)); 490 setBx(bxTer3, "shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_HOTKEY)); 491 492 setBx(bxPrim4, "shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER)); 493 setBx(bxSec4, "shortcut.groups."+(Shortcut.GROUPS_ALT1 +Shortcut.GROUP_LAYER)); 494 setBx(bxTer4, "shortcut.groups."+(Shortcut.GROUPS_ALT2 +Shortcut.GROUP_LAYER)); 495 } 496 private void setBx(javax.swing.JComboBox bx, String key) { 497 int target = Main.pref.getInteger(key, -1); 481 HashMap<Integer, Integer> groups = Main.platform.initShortcutGroups(false); 482 setBx(bxPrim1, groups, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT); 483 setBx(bxSec1, groups, Shortcut.GROUPS_ALT1 +Shortcut.GROUP_EDIT); 484 setBx(bxTer1, groups, Shortcut.GROUPS_ALT2 +Shortcut.GROUP_EDIT); 485 486 setBx(bxPrim2, groups, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU); 487 setBx(bxSec2, groups, Shortcut.GROUPS_ALT1 +Shortcut.GROUP_MENU); 488 setBx(bxTer2, groups, Shortcut.GROUPS_ALT2 +Shortcut.GROUP_MENU); 489 490 setBx(bxPrim3, groups, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY); 491 setBx(bxSec3, groups, Shortcut.GROUPS_ALT1 +Shortcut.GROUP_HOTKEY); 492 setBx(bxTer3, groups, Shortcut.GROUPS_ALT2 +Shortcut.GROUP_HOTKEY); 493 494 setBx(bxPrim4, groups, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER); 495 setBx(bxSec4, groups, Shortcut.GROUPS_ALT1 +Shortcut.GROUP_LAYER); 496 setBx(bxTer4, groups, Shortcut.GROUPS_ALT2 +Shortcut.GROUP_LAYER); 497 } 498 private void setBx(javax.swing.JComboBox bx, HashMap<Integer, Integer> groups, int key) { 499 int target = Main.pref.getInteger("shortcut.groups."+key, groups.get(key)); 498 500 for (int i = 0; i < modifInts.length; i++) { 499 501 if (modifInts[i] == target) { -
trunk/src/org/openstreetmap/josm/gui/util/RedirectInputMap.java
r3530 r4897 62 62 } 63 63 64 public static void redirectToMainContentPane(JComponent source) {65 @SuppressWarnings("deprecation") JComponent target = Main.contentPane;66 redirect(source, target);67 }68 69 64 public static void redirect(JComponent source, JComponent target) { 70 65 InputMap lastParent = source.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); -
trunk/src/org/openstreetmap/josm/tools/PlatformHook.java
r4203 r4897 4 4 import java.io.File; 5 5 import java.io.IOException; 6 import java.util.HashMap; 6 7 7 8 /** … … 65 66 * to register any shortcuts from within. 66 67 */ 67 public voidinitShortcutGroups();68 public HashMap<Integer, Integer> initShortcutGroups(boolean load); 68 69 69 70 /** -
trunk/src/org/openstreetmap/josm/tools/PlatformHookOsx.java
r4535 r4897 8 8 import java.lang.reflect.Method; 9 9 import java.lang.reflect.Proxy; 10 import java.util.HashMap; 10 11 11 12 import javax.swing.UIManager; … … 71 72 } 72 73 @Override 73 public void initShortcutGroups() { 74 public HashMap<Integer, Integer> initShortcutGroups(boolean load) { 75 HashMap<Integer, Integer> groups = new HashMap<Integer, Integer>(); 76 74 77 // Everything but Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU is guesswork. 75 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_NONE), Integer.toString(-1)); 76 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY), Integer.toString(KeyEvent.CTRL_DOWN_MASK)); 77 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU), Integer.toString(KeyEvent.META_DOWN_MASK)); 78 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT), Integer.toString(0)); 79 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER), Integer.toString(KeyEvent.ALT_DOWN_MASK)); 80 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_DIRECT), Integer.toString(0)); 81 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MNEMONIC),Integer.toString(KeyEvent.ALT_DOWN_MASK)); 82 83 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_NONE), Integer.toString(-1)); 84 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK)); 85 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_MENU), Integer.toString(KeyEvent.META_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK)); 86 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_EDIT), Integer.toString(KeyEvent.SHIFT_DOWN_MASK)); 87 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_LAYER), Integer.toString(KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK)); 88 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_DIRECT), Integer.toString(KeyEvent.SHIFT_DOWN_MASK)); 89 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_MNEMONIC), Integer.toString(KeyEvent.ALT_DOWN_MASK)); 90 91 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_NONE), Integer.toString(-1)); 92 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_HOTKEY), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK)); 93 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_MENU), Integer.toString(KeyEvent.META_DOWN_MASK | KeyEvent.ALT_DOWN_MASK)); 94 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_EDIT), Integer.toString(KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK)); 95 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_LAYER), Integer.toString(KeyEvent.ALT_DOWN_MASK)); 96 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_DIRECT), Integer.toString(KeyEvent.SHIFT_DOWN_MASK | KeyEvent.ALT_DOWN_MASK)); 97 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_MNEMONIC), Integer.toString(KeyEvent.ALT_DOWN_MASK)); 98 } 78 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_NONE, -1); 79 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY, KeyEvent.CTRL_DOWN_MASK); 80 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU, KeyEvent.META_DOWN_MASK); 81 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT, 0); 82 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER, KeyEvent.ALT_DOWN_MASK); 83 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_DIRECT, 0); 84 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MNEMONIC,KeyEvent.ALT_DOWN_MASK); 85 86 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_NONE, -1); 87 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 88 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_MENU, KeyEvent.META_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 89 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_EDIT, KeyEvent.SHIFT_DOWN_MASK); 90 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_LAYER, KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 91 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_DIRECT, KeyEvent.SHIFT_DOWN_MASK); 92 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_MNEMONIC, KeyEvent.ALT_DOWN_MASK); 93 94 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_NONE, -1); 95 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_HOTKEY, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK); 96 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_MENU, KeyEvent.META_DOWN_MASK | KeyEvent.ALT_DOWN_MASK); 97 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_EDIT, KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 98 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_LAYER, KeyEvent.SHIFT_DOWN_MASK); 99 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_DIRECT, KeyEvent.CTRL_DOWN_MASK); 100 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_MNEMONIC, KeyEvent.ALT_DOWN_MASK); 101 102 return groups; 103 } 104 99 105 @Override 100 106 public void initSystemShortcuts() { … … 276 282 return false; 277 283 } 278 279 @Override280 public boolean rename(File from, File to)281 {282 return from.renameTo(to);283 }284 284 } -
trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
r4849 r4897 6 6 import java.io.File; 7 7 import java.io.IOException; 8 import java.util.HashMap; 8 9 9 10 import org.openstreetmap.josm.Main; … … 18 19 */ 19 20 public class PlatformHookUnixoid implements PlatformHook { 21 @Override 20 22 public void preStartupHook(){ 21 23 } 24 25 @Override 22 26 public void startupHook() { 23 27 } 28 29 @Override 24 30 public void openUrl(String url) throws IOException { 25 31 String[] programs = {"gnome-open", "kfmclient openURL", "firefox"}; … … 32 38 } 33 39 } 34 public void initShortcutGroups() {35 // This is the Windows list. Someone should look over it and make it more "*nix"...36 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_NONE), Integer.toString(-1));37 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY), Integer.toString(KeyEvent.CTRL_DOWN_MASK));38 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU), Integer.toString(KeyEvent.CTRL_DOWN_MASK));39 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT), Integer.toString(0));40 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER), Integer.toString(KeyEvent.ALT_DOWN_MASK));41 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_DIRECT), Integer.toString(0));42 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MNEMONIC),Integer.toString(KeyEvent.ALT_DOWN_MASK));43 40 44 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_NONE), Integer.toString(-1)); 45 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK)); 46 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_MENU), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK)); 47 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_EDIT), Integer.toString(KeyEvent.SHIFT_DOWN_MASK)); 48 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_LAYER), Integer.toString(KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK)); 49 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_DIRECT), Integer.toString(KeyEvent.SHIFT_DOWN_MASK)); 50 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_MNEMONIC), Integer.toString(KeyEvent.ALT_DOWN_MASK)); 41 protected void setupGroup(HashMap<Integer, Integer> groups, boolean load, int group, int value) { 42 if(load) 43 groups.put(group, Main.pref.getInteger("shortcut.groups."+group, value)); 44 else 45 groups.put(group, value); 46 } 51 47 52 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_NONE), Integer.toString(-1)); 53 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_HOTKEY), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK)); 54 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_MENU), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK)); 55 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_EDIT), Integer.toString(KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK)); 56 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_LAYER), Integer.toString(KeyEvent.ALT_DOWN_MASK)); 57 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_DIRECT), Integer.toString(KeyEvent.CTRL_DOWN_MASK)); 58 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_MNEMONIC), Integer.toString(KeyEvent.ALT_DOWN_MASK)); 48 @Override 49 public HashMap<Integer, Integer> initShortcutGroups(boolean load) { 50 HashMap<Integer, Integer> groups = new HashMap<Integer, Integer>(); 51 52 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_NONE, -1); 53 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY, KeyEvent.CTRL_DOWN_MASK); 54 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU, KeyEvent.CTRL_DOWN_MASK); 55 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT, 0); 56 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER, KeyEvent.ALT_DOWN_MASK); 57 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_DIRECT, 0); 58 setupGroup(groups, load, Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MNEMONIC,KeyEvent.ALT_DOWN_MASK); 59 60 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_NONE, -1); 61 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 62 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_MENU, KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 63 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_EDIT, KeyEvent.SHIFT_DOWN_MASK); 64 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_LAYER, KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 65 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_DIRECT, KeyEvent.SHIFT_DOWN_MASK); 66 setupGroup(groups, load, Shortcut.GROUPS_ALT1+Shortcut.GROUP_MNEMONIC, KeyEvent.ALT_DOWN_MASK); 67 68 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_NONE, -1); 69 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_HOTKEY, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK); 70 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_MENU, KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK); 71 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_EDIT, KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK); 72 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_LAYER, KeyEvent.SHIFT_DOWN_MASK); 73 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_DIRECT, KeyEvent.CTRL_DOWN_MASK); 74 setupGroup(groups, load, Shortcut.GROUPS_ALT2+Shortcut.GROUP_MNEMONIC, KeyEvent.ALT_DOWN_MASK); 75 76 return groups; 59 77 } 78 79 @Override 60 80 public void initSystemShortcuts() { 61 // TODO: Insert system shortcuts here. See Windows and esp acially OSX to see how to.81 // TODO: Insert system shortcuts here. See Windows and especially OSX to see how to. 62 82 } 63 83 /** … … 66 86 * this is implemented here... 67 87 */ 88 @Override 68 89 public String makeTooltip(String name, Shortcut sc) { 69 90 String result = ""; … … 80 101 } 81 102 103 @Override 82 104 public String getDefaultStyle() { 83 105 return "javax.swing.plaf.metal.MetalLookAndFeel"; -
trunk/src/org/openstreetmap/josm/tools/PlatformHookWindows.java
r4205 r4897 15 15 */ 16 16 public class PlatformHookWindows extends PlatformHookUnixoid implements PlatformHook { 17 public void preStartupHook(){18 }19 public void startupHook() {20 }21 17 public void openUrl(String url) throws IOException { 22 18 Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + url); 23 19 } 24 public void initShortcutGroups() {25 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_NONE), Integer.toString(-1));26 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_HOTKEY), Integer.toString(KeyEvent.CTRL_DOWN_MASK));27 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MENU), Integer.toString(KeyEvent.CTRL_DOWN_MASK));28 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_EDIT), Integer.toString(0));29 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_LAYER), Integer.toString(KeyEvent.ALT_DOWN_MASK));30 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_DIRECT), Integer.toString(0));31 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_DEFAULT+Shortcut.GROUP_MNEMONIC),Integer.toString(KeyEvent.ALT_DOWN_MASK));32 20 33 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_NONE), Integer.toString(-1));34 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_HOTKEY), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK));35 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_MENU), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK));36 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_EDIT), Integer.toString(KeyEvent.SHIFT_DOWN_MASK));37 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_LAYER), Integer.toString(KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK));38 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_DIRECT), Integer.toString(KeyEvent.SHIFT_DOWN_MASK));39 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT1+Shortcut.GROUP_MNEMONIC), Integer.toString(KeyEvent.ALT_DOWN_MASK));40 41 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_NONE), Integer.toString(-1));42 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_HOTKEY), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK));43 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_MENU), Integer.toString(KeyEvent.CTRL_DOWN_MASK | KeyEvent.ALT_DOWN_MASK));44 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_EDIT), Integer.toString(KeyEvent.ALT_DOWN_MASK | KeyEvent.SHIFT_DOWN_MASK));45 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_LAYER), Integer.toString(KeyEvent.ALT_DOWN_MASK));46 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_DIRECT), Integer.toString(KeyEvent.CTRL_DOWN_MASK));47 Main.pref.put("shortcut.groups."+(Shortcut.GROUPS_ALT2+Shortcut.GROUP_MNEMONIC), Integer.toString(KeyEvent.ALT_DOWN_MASK));48 }49 21 public void initSystemShortcuts() { 50 22 // This list if far from complete! … … 64 36 65 37 @Override 66 public boolean canFullscreen()67 {68 return GraphicsEnvironment.getLocalGraphicsEnvironment()69 .getDefaultScreenDevice().isFullScreenSupported();70 }71 72 @Override73 38 public boolean rename(File from, File to) 74 39 { -
trunk/src/org/openstreetmap/josm/tools/Shortcut.java
r4595 r4897 6 6 import java.awt.event.KeyEvent; 7 7 import java.util.ArrayList; 8 import java.util.Arrays; 9 import java.util.Collection; 8 10 import java.util.HashMap; 9 11 import java.util.LinkedHashMap; 12 import java.util.LinkedList; 10 13 import java.util.List; 11 14 import java.util.Map; … … 33 36 */ 34 37 public class Shortcut { 35 // public static final int SHIFT = KeyEvent.SHIFT_DOWN_MASK; 36 // public static final int CTRL = KeyEvent.CTRL_DOWN_MASK; 37 // public static final int SHIFT_CTRL = KeyEvent.SHIFT_DOWN_MASK|KeyEvent.CTRL_DOWN_MASK; 38 @Deprecated 38 39 public static final int SHIFT_DEFAULT = 1; 39 40 private String shortText; // the unique ID of the shortcut … … 155 156 private boolean isSame(int isKey, int isModifier) { 156 157 // -1 --- an unassigned shortcut is different from any other shortcut 157 return( isKey == assignedKey && isModifier == assignedModifier && assignedModifier != g roups.get(GROUP_NONE));158 return( isKey == assignedKey && isModifier == assignedModifier && assignedModifier != getGroupModifier(GROUP_NONE)); 158 159 } 159 160 160 161 // create a shortcut object from an string as saved in the preferences 161 162 private Shortcut(String prefString) { 162 String[] s = prefString.split(";"); 163 this.shortText = s[0]; 164 this.longText = s[1]; 165 this.requestedKey = Integer.parseInt(s[2]); 166 this.requestedGroup = Integer.parseInt(s[3]); 167 this.assignedKey = Integer.parseInt(s[4]); 168 this.assignedModifier = Integer.parseInt(s[5]); 169 this.assignedDefault = Boolean.parseBoolean(s[6]); 170 this.assignedUser = Boolean.parseBoolean(s[7]); 163 ArrayList<String> s = (new ArrayList<String>(Main.pref.getCollection(prefString))); 164 this.shortText = prefString.substring(15); 165 this.longText = s.get(0); 166 this.requestedKey = Integer.parseInt(s.get(1)); 167 this.requestedGroup = Integer.parseInt(s.get(2)); 168 this.assignedKey = Integer.parseInt(s.get(3)); 169 this.assignedModifier = Integer.parseInt(s.get(4)); 170 this.assignedDefault = Boolean.parseBoolean(s.get(5)); 171 this.assignedUser = Boolean.parseBoolean(s.get(6)); 172 } 173 174 private void saveDefault() { 175 Main.pref.getCollection("shortcut.entry."+shortText, Arrays.asList(new String[]{longText, 176 String.valueOf(requestedKey), String.valueOf(requestedGroup), String.valueOf(assignedKey), 177 String.valueOf(assignedModifier), String.valueOf(true), String.valueOf(false)})); 171 178 } 172 179 173 180 // get a string that can be put into the preferences 174 private String asPrefString() { 175 return shortText + ";" + longText + ";" + requestedKey + ";" + requestedGroup + ";" + assignedKey + ";" + assignedModifier + ";" + assignedDefault + ";" + assignedUser; 181 private boolean save() { 182 return Main.pref.putCollection("shortcut.entry."+shortText, Arrays.asList(new String[]{longText, 183 String.valueOf(requestedKey), String.valueOf(requestedGroup), String.valueOf(assignedKey), 184 String.valueOf(assignedModifier), String.valueOf(assignedDefault), String.valueOf(assignedUser)})); 176 185 } 177 186 … … 184 193 */ 185 194 public void setMnemonic(JMenu menu) { 186 if (requestedGroup == GROUP_MNEMONIC && assignedModifier == g roups.get(requestedGroup + GROUPS_DEFAULT) && getKeyStroke() != null && KeyEvent.getKeyText(assignedKey).length() == 1) {195 if (requestedGroup == GROUP_MNEMONIC && assignedModifier == getGroupModifier(requestedGroup + GROUPS_DEFAULT) && getKeyStroke() != null && KeyEvent.getKeyText(assignedKey).length() == 1) { 187 196 menu.setMnemonic(KeyEvent.getKeyText(assignedKey).charAt(0)); //getKeyStroke().getKeyChar() seems not to work here 188 197 } … … 192 201 */ 193 202 public void setMnemonic(AbstractButton button) { 194 if (requestedGroup == GROUP_MNEMONIC && assignedModifier == g roups.get(requestedGroup + GROUPS_DEFAULT) && getKeyStroke() != null && KeyEvent.getKeyText(assignedKey).length() == 1) {203 if (requestedGroup == GROUP_MNEMONIC && assignedModifier == getGroupModifier(requestedGroup + GROUPS_DEFAULT) && getKeyStroke() != null && KeyEvent.getKeyText(assignedKey).length() == 1) { 195 204 button.setMnemonic(KeyEvent.getKeyText(assignedKey).charAt(0)); //getKeyStroke().getKeyChar() seems not to work here 196 205 } … … 221 230 222 231 // and here our modifier groups 223 private static Map<Integer, Integer> groups = new HashMap<Integer, Integer>();232 private static Map<Integer, Integer> groups; 224 233 225 234 // check if something collides with an existing shortcut 226 235 private static Shortcut findShortcut(int requestedKey, int modifier) { 227 if (modifier == g roups.get(GROUP_NONE))236 if (modifier == getGroupModifier(GROUP_NONE)) 228 237 return null; 229 238 for (Shortcut sc : shortcuts.values()) { … … 250 259 // try to find an unused shortcut 251 260 private static Shortcut findRandomShortcut(String shortText, String longText, int requestedKey, int requestedGroup) { 252 int[] mods = {g roups.get(requestedGroup + GROUPS_DEFAULT), groups.get(requestedGroup + GROUPS_ALT1), groups.get(requestedGroup + GROUPS_ALT2)};261 int[] mods = {getGroupModifier(requestedGroup + GROUPS_DEFAULT), getGroupModifier(requestedGroup + GROUPS_ALT1), getGroupModifier(requestedGroup + GROUPS_ALT2)}; 253 262 for (int m : mods) { 254 263 for (int k = KeyEvent.VK_A; k < KeyEvent.VK_Z; k++) { // we'll limit ourself to 100% safe keys … … 257 266 } 258 267 } 259 return new Shortcut(shortText, longText, requestedKey, requestedGroup, requestedKey, g roups.get(GROUP_NONE), false, false);268 return new Shortcut(shortText, longText, requestedKey, requestedGroup, requestedKey, getGroupModifier(GROUP_NONE), false, false); 260 269 } 261 270 … … 300 309 if (initdone) return; 301 310 initdone = true; 302 // if we have no modifier groups in the config, we have to create them 303 if (Main.pref.get("shortcut.groups.configured", null) == null) { 304 Main.platform.initShortcutGroups(); 305 Main.pref.put("shortcut.groups.configured", true); 306 } 307 // pull in the groups 308 for (int i = GROUP_NONE; i < GROUP__MAX+GROUPS_ALT2*2; i++) { // fill more groups, so registering with e.g. ALT2+MNEMONIC won't NPE 309 groups.put(i, Main.pref.getInteger("shortcut.groups."+i, -1)); 310 } 311 groups = Main.platform.initShortcutGroups(true); 311 312 // (1) System reserved shortcuts 312 313 Main.platform.initSystemShortcuts(); 313 314 // (2) User defined shortcuts 314 int i = 0; 315 String p = Main.pref.get("shortcut.shortcut."+i, null); 316 while (p != null) { 317 Shortcut sc = new Shortcut(p); 315 LinkedList<Shortcut> shortcuts = new LinkedList<Shortcut>(); 316 for(String s : Main.pref.getAllPrefixKeys("shortcut.entry.")) { 317 shortcuts.add(new Shortcut(s)); 318 } 319 for(Shortcut sc : shortcuts) { 318 320 if (sc.getAssignedUser()) { 319 321 registerShortcut(sc); 320 322 } 321 i++;322 p = Main.pref.get("shortcut.shortcut."+i, null);323 323 } 324 324 // Shortcuts at their default values 325 i = 0; 326 p = Main.pref.get("shortcut.shortcut."+i, null); 327 while (p != null) { 328 Shortcut sc = new Shortcut(p); 325 for(Shortcut sc : shortcuts) { 329 326 if (!sc.getAssignedUser() && sc.getAssignedDefault()) { 330 327 registerShortcut(sc); 331 328 } 332 i++;333 p = Main.pref.get("shortcut.shortcut."+i, null);334 329 } 335 330 // Shortcuts that were automatically moved 336 i = 0; 337 p = Main.pref.get("shortcut.shortcut."+i, null); 338 while (p != null) { 339 Shortcut sc = new Shortcut(p); 331 for(Shortcut sc : shortcuts) { 340 332 if (!sc.getAssignedUser() && !sc.getAssignedDefault()) { 341 333 registerShortcut(sc); 342 334 } 343 i++; 344 p = Main.pref.get("shortcut.shortcut."+i, null); 345 } 335 } 336 } 337 338 private static int getGroupModifier(int group) { 339 Integer m = groups.get(group); 340 if(m == null) 341 m = -1; 342 return m; 346 343 } 347 344 348 345 // shutdown handling 349 346 public static boolean savePrefs() { 350 // we save this directly from the preferences pane, so don't overwrite these values here351 // for (int i = GROUP_NONE; i < GROUP__MAX+GROUPS_ALT2; i++) {352 // Main.pref.put("shortcut.groups."+i, Groups.get(i).toString());353 // }354 347 boolean changed = false; 355 int i = 0;356 348 for (Shortcut sc : shortcuts.values()) { 357 // TODO: Remove sc.getAssignedUser() when we fixed all internal conflicts358 349 if (!sc.getAutomatic() && !sc.getReset() && sc.getAssignedUser()) { 359 changed = changed | Main.pref.put("shortcut.shortcut."+i, sc.asPrefString()); 360 i++; 361 } 362 } 363 changed = changed | Main.pref.put("shortcut.shortcut."+i, ""); 350 changed = changed | sc.save(); 351 } 352 } 364 353 return changed; 365 354 } … … 413 402 * @param modifier to register a {@code ctrl+shift} command, use {@see #SHIFT_DEFAULT}. 414 403 */ 404 @Deprecated 415 405 public static Shortcut registerShortcut(String shortText, String longText, int requestedKey, int requestedGroup, int modifier) { 416 406 return registerShortcut(shortText, longText, requestedKey, requestedGroup, modifier, null); … … 450 440 return sc; 451 441 } 452 Integer defaultModifier = g roups.get(requestedGroup + GROUPS_DEFAULT);442 Integer defaultModifier = getGroupModifier(requestedGroup + GROUPS_DEFAULT); 453 443 if(modifier != null) { 454 444 if(modifier == SHIFT_DEFAULT) { … … 459 449 } 460 450 else if (defaultModifier == null) { // garbage in, no shortcut out 461 defaultModifier = g roups.get(GROUP_NONE + GROUPS_DEFAULT);451 defaultModifier = getGroupModifier(GROUP_NONE + GROUPS_DEFAULT); 462 452 } 463 453 Shortcut conflictsWith = null; … … 465 455 if (potentialShortcut != null) { // 3 stage conflict handling 466 456 conflictsWith = potentialShortcut; 467 defaultModifier = g roups.get(requestedGroup + GROUPS_ALT1);457 defaultModifier = getGroupModifier(requestedGroup + GROUPS_ALT1); 468 458 if (defaultModifier == null) { // garbage in, no shortcurt out 469 defaultModifier = g roups.get(GROUP_NONE + GROUPS_DEFAULT);459 defaultModifier = getGroupModifier(GROUP_NONE + GROUPS_DEFAULT); 470 460 } 471 461 potentialShortcut = findShortcut(requestedKey, defaultModifier); 472 462 if (potentialShortcut != null) { 473 defaultModifier = g roups.get(requestedGroup + GROUPS_ALT2);463 defaultModifier = getGroupModifier(requestedGroup + GROUPS_ALT2); 474 464 if (defaultModifier == null) { // garbage in, no shortcurt out 475 defaultModifier = g roups.get(GROUP_NONE + GROUPS_DEFAULT);465 defaultModifier = getGroupModifier(GROUP_NONE + GROUPS_DEFAULT); 476 466 } 477 467 potentialShortcut = findShortcut(requestedKey, defaultModifier); … … 493 483 } 494 484 485 potentialShortcut.saveDefault(); 495 486 shortcuts.put(shortText, potentialShortcut); 496 487 return potentialShortcut;
Note:
See TracChangeset
for help on using the changeset viewer.