Index: core/execution/src/org/netbeans/core/execution/resources/layer.xml =================================================================== RCS file: /cvs/core/execution/src/org/netbeans/core/execution/resources/layer.xml,v retrieving revision 1.20 diff -u -u -r1.20 layer.xml --- core/execution/src/org/netbeans/core/execution/resources/layer.xml 24 Jun 2004 10:22:54 -0000 1.20 +++ core/execution/src/org/netbeans/core/execution/resources/layer.xml 3 Aug 2004 01:57:01 -0000 @@ -39,10 +39,10 @@ - + - + Index: core/favorites/src/org/netbeans/modules/favorites/resources/layer.xml =================================================================== RCS file: /cvs/core/favorites/src/org/netbeans/modules/favorites/resources/layer.xml,v retrieving revision 1.7 diff -u -u -r1.7 layer.xml --- core/favorites/src/org/netbeans/modules/favorites/resources/layer.xml 24 Jun 2004 10:23:37 -0000 1.7 +++ core/favorites/src/org/netbeans/modules/favorites/resources/layer.xml 3 Aug 2004 01:57:01 -0000 @@ -49,10 +49,10 @@ - + - + Index: core/output/src/org/netbeans/core/output/resources/layer.xml =================================================================== RCS file: /cvs/core/output/src/org/netbeans/core/output/resources/layer.xml,v retrieving revision 1.7 diff -u -u -r1.7 layer.xml --- core/output/src/org/netbeans/core/output/resources/layer.xml 18 May 2004 17:20:45 -0000 1.7 +++ core/output/src/org/netbeans/core/output/resources/layer.xml 3 Aug 2004 01:57:01 -0000 @@ -36,7 +36,7 @@ - + Index: core/output2/src/org/netbeans/core/output2/layer.xml =================================================================== RCS file: /cvs/core/output2/src/org/netbeans/core/output2/layer.xml,v retrieving revision 1.3 diff -u -u -r1.3 layer.xml --- core/output2/src/org/netbeans/core/output2/layer.xml 26 May 2004 13:02:00 -0000 1.3 +++ core/output2/src/org/netbeans/core/output2/layer.xml 3 Aug 2004 01:57:01 -0000 @@ -43,7 +43,7 @@ - + Index: core/src/org/netbeans/core/ShortcutsFolder.java =================================================================== RCS file: /cvs/core/src/org/netbeans/core/ShortcutsFolder.java,v retrieving revision 1.19 diff -u -u -r1.19 ShortcutsFolder.java --- core/src/org/netbeans/core/ShortcutsFolder.java 27 Jul 2004 04:19:45 -0000 1.19 +++ core/src/org/netbeans/core/ShortcutsFolder.java 3 Aug 2004 01:57:04 -0000 @@ -17,6 +17,8 @@ import java.awt.*; import java.awt.event.*; import java.util.*; +import java.util.Collection; +import java.util.List; import javax.swing.text.Keymap; import javax.swing.*; @@ -444,7 +446,19 @@ } } } else { - InstanceDataObject.remove(f, r.instanceName(), r.instanceClass()); + String instanceName = r.instanceName(); + if (!InstanceDataObject.remove(f, instanceName, r.instanceClass())) { + //We may be deleting a wildcard keystroke, and/or the + //order defined in the layer may not be the same as + //what we were fed by the shortcuts editor, so search + //all the possible variants + String[] permutations = getPermutations(instanceName); + for (int i=0; i < permutations.length; i++) { + if (InstanceDataObject.remove(f, permutations[i], r.instanceClass())) { + break; + } + } + } } } else { // It is '.shadow' file FileObject root = f.getPrimaryFile(); @@ -459,6 +473,18 @@ if(foRemove != null) { foRemove.delete(); } + String[] permutations = getPermutations(r.instanceName()); + //We may be deleting a wildcard keystroke, and/or the + //order defined in the layer may not be the same as + //what we were fed by the shortcuts editor, so search + //all the possible variants + for (int i=0; i < permutations.length; i++) { + foRemove = root.getFileObject(permutations[i], "shadow"); + if (foRemove != null) { + foRemove.delete(); + break; + } + } } } } catch (ClassNotFoundException ex) { @@ -468,6 +494,98 @@ } } } + + /** + * There is no required ordering of key modifiers (C, M, S, A), and the + * D (default) wildcard character can map to either C or M depending on + * the platform. So when we need to delete a keybinding, the editor has + * given us one possible ordering, but not necessarily the correct one; it + * has also given us a hard keybinding, but the key may really be bound to + * D. So, for "MAS-F5" (meta-alt-shift F5) on the pc, we need to check + * MSA-F5, SMA-F5, SAM-F5, AMS-F5, ASM-F5; on the mac, we also need to check + * the same permutations of DAS-F5, since it may be registered with the + * wildcard character. + *

+ * Finally, for each permutation, it is legal to separate characters with + * dashes - so for each permutation, we must also check for a hyphenated + * variant - i.e. for MAS-F5, we must check M-A-S-F5. Note that mixed + * hyphenation (M-AS-F5) is not supported. It either is or it isn't. + * + */ + private static String[] getPermutations (String name) { + String key = KeyEvent.META_MASK == Toolkit.getDefaultToolkit().getMenuShortcutKeyMask() ? + "M" : "C"; //NOI18N + + int pos = name.lastIndexOf ("-"); //NOI18N + String keyPart = name.substring (pos); + String modsPart = Utilities.replaceString (name.substring (0, pos), "-", ""); + if (modsPart.length() > 1) { + Collection perms = new HashSet(modsPart.length() * modsPart.length()); + int idx = name.indexOf(key); + if (idx != -1) { + //First, try with the wildcard key. Remove all hyphens - we'll + //put them back later + StringBuffer sb = new StringBuffer(modsPart); + sb.replace(idx, idx+1, "D"); + perms.add (sb.toString() + keyPart); + getAllPossibleOrderings (sb.toString(), keyPart, perms); + createHyphenatedPermutation(sb.toString().toCharArray(), perms, keyPart); + } + getAllPossibleOrderings (modsPart, keyPart, perms); + createHyphenatedPermutation(modsPart.toCharArray(), perms, keyPart); + return (String[]) perms.toArray(new String[perms.size()]); + } else { + return "C".equals (modsPart) ? + new String[] {"D" + keyPart} : new String[0]; + } + } + + /** + * Retrieves all the possible orders for the passed in string, and puts them + * in the passed collection, appending toAppend to each. + */ + private static void getAllPossibleOrderings (String s, String toAppend, final Collection store) { + char[] c = s.toCharArray(); + mutate (c, store, 0, toAppend); + String[] result = (String[]) store.toArray(new String[store.size()]); + } + + /** + * Recursively generates all possible orderings of the passed char array + */ + private static void mutate(char[] c, Collection l, int n, String toAppend) { + if (n == c.length) { + l.add (new String(c) + toAppend); + createHyphenatedPermutation(c, l, toAppend); + return; + } + //XXX could be optimized to eliminate duplicates + for (int i=0; i < c.length; i++) { + char x = c[i]; + c[i] = c[n]; + c[n] = x; + if (n < c.length) { + mutate (c, l, n+1, toAppend); + } + } + } + + /** + * Inserts "-" characters between each character in the char array and + * adds the result + toAppend to the collection. + */ + private static void createHyphenatedPermutation (char[] c, Collection l, String toAppend) { + if (c.length == 1) { + return; + } + StringBuffer sb = new StringBuffer (new String(c)); + for (int i=c.length-1; i >= 1; i-=1) { + sb.insert (i, '-'); + } + sb.append (toAppend); + l.add (sb.toString()); + } + private static DataObject findForAction (DataFolder actionsFolder, Action a) { if (actionsFolder == null) { Index: core/src/org/netbeans/core/modules/Module.java =================================================================== RCS file: /cvs/core/src/org/netbeans/core/modules/Module.java,v retrieving revision 1.54 diff -u -u -r1.54 Module.java --- core/src/org/netbeans/core/modules/Module.java 29 Jul 2004 18:35:01 -0000 1.54 +++ core/src/org/netbeans/core/modules/Module.java 3 Aug 2004 01:57:06 -0000 @@ -438,6 +438,18 @@ throw new IllegalArgumentException("Duplicate entries in OpenIDE-Module-Provides: " + providesS); // NOI18N } } + String[] additionalProvides = mgr.refineProvides (this); + if (additionalProvides != null) { + if (provides == null) { + provides = additionalProvides; + } else { + ArrayList l = new ArrayList (); + l.addAll (Arrays.asList (provides)); + l.addAll (Arrays.asList (additionalProvides)); + provides = (String[])l.toArray (provides); + } + } + // Exports String exportsS = attr.getValue("OpenIDE-Module-Public-Packages"); // NOI18N if (exportsS != null) { Index: core/src/org/netbeans/core/modules/ModuleInstaller.java =================================================================== RCS file: /cvs/core/src/org/netbeans/core/modules/ModuleInstaller.java,v retrieving revision 1.9 diff -u -u -r1.9 ModuleInstaller.java --- core/src/org/netbeans/core/modules/ModuleInstaller.java 18 Dec 2002 23:41:29 -0000 1.9 +++ core/src/org/netbeans/core/modules/ModuleInstaller.java 3 Aug 2004 01:57:06 -0000 @@ -156,6 +156,14 @@ public void refineClassLoader(Module m, List parents) { // do nothing } + + /** Optionally adds additional token for the module. + * @param m the module to add token to + * @return null or list of tokens this module provides + */ + public String[] refineProvides (Module m) { + return null; + } /** Is this package special in that the package domain cache should be disabled for it? * The result must never change between subsequent calls for the same argument. Index: core/src/org/netbeans/core/modules/ModuleManager.java =================================================================== RCS file: /cvs/core/src/org/netbeans/core/modules/ModuleManager.java,v retrieving revision 1.62 diff -u -u -r1.62 ModuleManager.java --- core/src/org/netbeans/core/modules/ModuleManager.java 2 Jul 2003 18:56:33 -0000 1.62 +++ core/src/org/netbeans/core/modules/ModuleManager.java 3 Aug 2004 01:57:08 -0000 @@ -500,6 +500,11 @@ void refineDependencies(Module m, Set dependencies) { installer.refineDependencies(m, dependencies); } + /** Allows the installer to add provides (used to provide name of platform we run on) + */ + String[] refineProvides (Module m) { + return installer.refineProvides (m); + } /** Used by Module to communicate with the ModuleInstaller re. classloader. */ void refineClassLoader(Module m, List parents) { // #27853: Index: core/src/org/netbeans/core/modules/NbInstaller.java =================================================================== RCS file: /cvs/core/src/org/netbeans/core/modules/NbInstaller.java,v retrieving revision 1.76 diff -u -u -r1.76 NbInstaller.java --- core/src/org/netbeans/core/modules/NbInstaller.java 16 May 2004 16:09:20 -0000 1.76 +++ core/src/org/netbeans/core/modules/NbInstaller.java 3 Aug 2004 01:57:10 -0000 @@ -721,6 +721,28 @@ } } + public String[] refineProvides (Module m) { + if (m.getCodeNameBase ().equals ("org.openide")) { // NOI18N + ArrayList tokens = new ArrayList (); + if (org.openide.util.Utilities.isUnix ()) { + tokens.add ("org.openide.modules.os.Unix"); // NOI18N + } + + if (org.openide.util.Utilities.isWindows ()) { + tokens.add ("org.openide.modules.os.Windows"); // NOI18N + } + + if ((org.openide.util.Utilities.getOperatingSystem () & org.openide.util.Utilities.OS_MAC) != 0) { + tokens.add ("org.openide.modules.os.MacOSX"); // NOI18N + } + + return tokens.isEmpty() ? null : (String[])tokens.toArray (new String[0]); + + } + return null; + } + + private void addLoadersRecursively(List parents, Dependency[] deps, Set parentModules, Module master, Set addedParentNames) { for (int i = 0; i < deps.length; i++) { if (deps[i].getType() != Dependency.TYPE_MODULE) { Index: core/ui/src/org/netbeans/core/ui/MenuWarmUpTask.java =================================================================== RCS file: /cvs/core/ui/src/org/netbeans/core/ui/MenuWarmUpTask.java,v retrieving revision 1.8 diff -u -u -r1.8 MenuWarmUpTask.java --- core/ui/src/org/netbeans/core/ui/MenuWarmUpTask.java 31 Jul 2004 14:26:51 -0000 1.8 +++ core/ui/src/org/netbeans/core/ui/MenuWarmUpTask.java 3 Aug 2004 01:57:13 -0000 @@ -43,35 +43,6 @@ private Component[] comps; - /** - * Issue 32733 - the keyboard shortcut for FIND will use this method to - * determine its visibility. For non-solaris operating systems, there is - * no find key (XXX ask the HP folks about VMS), so that shouldn't be the - * shortcut displayed in the menu. - * - * While this method doesn't really belong in a warmup task, it's silly to - * create an extra class just for this sort of thing. - */ - public static boolean isNotSolaris() { - return Utilities.getOperatingSystem() != Utilities.OS_SOLARIS; - } - - /** - * Used to determine whether to bind Delete or Backspace to DeleteAction - - * mac keyboards don't have a delete key. - */ - public static boolean isMac() { - return Utilities.getOperatingSystem() == Utilities.OS_MAC; - } - - /** - * Used to determine whether to bind Delete or Backspace to DeleteAction - - * mac keyboards don't have a delete key. - */ - public static boolean isNotMac() { - return !isMac(); - } - /** Actually performs pre-heat. */ public void run() { Index: core/ui/src/org/netbeans/core/ui/resources/layer.xml =================================================================== RCS file: /cvs/core/ui/src/org/netbeans/core/ui/resources/layer.xml,v retrieving revision 1.70 diff -u -u -r1.70 layer.xml --- core/ui/src/org/netbeans/core/ui/resources/layer.xml 31 Jul 2004 14:26:51 -0000 1.70 +++ core/ui/src/org/netbeans/core/ui/resources/layer.xml 3 Aug 2004 01:57:14 -0000 @@ -238,7 +238,7 @@ - + @@ -248,21 +248,13 @@ - - - - - - - - - + - + @@ -274,7 +266,7 @@ - + @@ -282,22 +274,20 @@ - + - - - + - + @@ -305,18 +295,18 @@ - + - + - + Index: core/windows/src/org/netbeans/core/windows/resources/layer.xml =================================================================== RCS file: /cvs/core/windows/src/org/netbeans/core/windows/resources/layer.xml,v retrieving revision 1.32 diff -u -u -r1.32 layer.xml --- core/windows/src/org/netbeans/core/windows/resources/layer.xml 27 Jul 2004 15:47:11 -0000 1.32 +++ core/windows/src/org/netbeans/core/windows/resources/layer.xml 3 Aug 2004 01:57:15 -0000 @@ -130,14 +130,15 @@ + - - + + @@ -148,18 +149,18 @@ - + - + - + - + Index: debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/resources/mf-layer.xml =================================================================== RCS file: /cvs/debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/resources/mf-layer.xml,v retrieving revision 1.21 diff -u -u -r1.21 mf-layer.xml --- debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/resources/mf-layer.xml 27 Jul 2004 06:29:12 -0000 1.21 +++ debuggerjpda/ui/src/org/netbeans/modules/debugger/jpda/resources/mf-layer.xml 3 Aug 2004 01:57:21 -0000 @@ -188,13 +188,13 @@ - + - + - + @@ -209,16 +209,16 @@ - + - + - + Index: editor/libsrc/org/netbeans/editor/SettingsDefaults.java =================================================================== RCS file: /cvs/editor/libsrc/org/netbeans/editor/SettingsDefaults.java,v retrieving revision 1.33 diff -u -u -r1.33 SettingsDefaults.java --- editor/libsrc/org/netbeans/editor/SettingsDefaults.java 25 May 2004 13:29:08 -0000 1.33 +++ editor/libsrc/org/netbeans/editor/SettingsDefaults.java 3 Aug 2004 01:57:23 -0000 @@ -191,6 +191,22 @@ SettingsNames.STATUS_BAR_BOLD_COLORING }; + + private static final int FIND_NEXT_KEY = + System.getProperty("mrj.version") == null ? + KeyEvent.VK_F3 : KeyEvent.VK_G; + + private static final int FIND_NEXT_MASK = + System.getProperty("mrj.version") == null ? + 0 : KeyEvent.META_DOWN_MASK; + + //#26854 - use Command, not Ctrl, on mac + private static final int MENU_MASK = java.awt.Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); + + //Default behavior on mac is that alt+arrows is word jumps + private static final int WORD_SELECT_MASK = System.getProperty("mrj.version") == null ? + InputEvent.CTRL_DOWN_MASK : InputEvent.ALT_DOWN_MASK; + public static final MultiKeyBinding[] defaultKeyBindings = new MultiKeyBinding[] { new MultiKeyBinding( @@ -202,7 +218,7 @@ BaseKit.insertBreakAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, MENU_MASK), BaseKit.splitLineAction ), new MultiKeyBinding( @@ -234,7 +250,7 @@ BaseKit.deletePrevCharAction ), /* new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_H, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_H, MENU_MASK | InputEvent.SHIFT_MASK), BaseKit.deletePrevCharAction ), */ new MultiKeyBinding( @@ -254,11 +270,11 @@ BaseKit.selectionForwardAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, WORD_SELECT_MASK), BaseKit.nextWordAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_RIGHT, InputEvent.SHIFT_MASK | WORD_SELECT_MASK), BaseKit.selectionNextWordAction ), new MultiKeyBinding( @@ -270,15 +286,15 @@ BaseKit.backwardAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, InputEvent.SHIFT_MASK), BaseKit.selectionBackwardAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, WORD_SELECT_MASK), BaseKit.previousWordAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_LEFT, InputEvent.SHIFT_MASK | WORD_SELECT_MASK), BaseKit.selectionPreviousWordAction ), new MultiKeyBinding( @@ -294,7 +310,7 @@ BaseKit.selectionDownAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, MENU_MASK), BaseKit.scrollUpAction ), new MultiKeyBinding( @@ -310,7 +326,7 @@ BaseKit.selectionUpAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_UP, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_UP, MENU_MASK), BaseKit.scrollDownAction ), new MultiKeyBinding( @@ -338,11 +354,11 @@ BaseKit.selectionBeginLineAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_HOME, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_HOME, MENU_MASK), BaseKit.beginAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_HOME, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_HOME, InputEvent.SHIFT_MASK | MENU_MASK), BaseKit.selectionBeginAction ), new MultiKeyBinding( @@ -354,21 +370,21 @@ BaseKit.selectionEndLineAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_END, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_END, MENU_MASK), BaseKit.endAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_END, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_END, InputEvent.SHIFT_MASK | MENU_MASK), BaseKit.selectionEndAction ), // clipboard bindings new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_C, MENU_MASK), BaseKit.copyAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_INSERT, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_INSERT, MENU_MASK), BaseKit.copyAction ), new MultiKeyBinding( @@ -380,7 +396,7 @@ BaseKit.cutAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_X, MENU_MASK), BaseKit.cutAction ), new MultiKeyBinding( @@ -388,7 +404,7 @@ BaseKit.cutAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_V, MENU_MASK), BaseKit.pasteAction ), new MultiKeyBinding( @@ -400,13 +416,13 @@ BaseKit.pasteAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_V, MENU_MASK | InputEvent.SHIFT_MASK), BaseKit.pasteFormatedAction ), // undo and redo bindings - handled at system level new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_Z, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_Z, MENU_MASK), BaseKit.undoAction ), new MultiKeyBinding( @@ -414,13 +430,13 @@ BaseKit.undoAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_Y, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_Y, MENU_MASK), BaseKit.redoAction ), // other bindings new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_A, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_A, MENU_MASK), BaseKit.selectAllAction ), new MultiKeyBinding( @@ -431,15 +447,15 @@ BaseKit.endWordAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_W, MENU_MASK), BaseKit.removeWordAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_U, MENU_MASK), BaseKit.removeLineBeginAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_E, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_E, MENU_MASK), BaseKit.removeLineAction ), new MultiKeyBinding( @@ -447,7 +463,7 @@ BaseKit.toggleTypingModeAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_F2, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_F2, MENU_MASK), BaseKit.toggleBookmarkAction ), new MultiKeyBinding( @@ -455,15 +471,15 @@ BaseKit.gotoNextBookmarkAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_F3, 0), + KeyStroke.getKeyStroke(FIND_NEXT_KEY, FIND_NEXT_MASK), BaseKit.findNextAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_F3, InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(FIND_NEXT_KEY, FIND_NEXT_MASK | InputEvent.SHIFT_MASK), BaseKit.findPreviousAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_F3, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(FIND_NEXT_KEY, FIND_NEXT_MASK | InputEvent.CTRL_MASK), BaseKit.findSelectionAction ), new MultiKeyBinding( @@ -471,19 +487,19 @@ BaseKit.toggleHighlightSearchAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_L, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_L, MENU_MASK), BaseKit.wordMatchNextAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_K, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_K, MENU_MASK), BaseKit.wordMatchPrevAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_T, MENU_MASK), BaseKit.shiftLineRightAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_D, MENU_MASK), BaseKit.shiftLineLeftAction ), new MultiKeyBinding( @@ -491,7 +507,7 @@ BaseKit.abbrevResetAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_C, MENU_MASK | InputEvent.SHIFT_MASK), BaseKit.annotationsCyclingAction ), @@ -531,7 +547,7 @@ ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK ), + KeyStroke.getKeyStroke(KeyEvent.VK_F, MENU_MASK | InputEvent.SHIFT_MASK ), BaseKit.formatAction ), new MultiKeyBinding( @@ -577,13 +593,13 @@ ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_M, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_M, MENU_MASK), BaseKit.selectNextParameterAction ), new MultiKeyBinding( new KeyStroke[] { - KeyStroke.getKeyStroke(KeyEvent.VK_J, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_J, MENU_MASK), KeyStroke.getKeyStroke(KeyEvent.VK_S, 0), }, BaseKit.startMacroRecordingAction @@ -591,59 +607,59 @@ new MultiKeyBinding( new KeyStroke[] { - KeyStroke.getKeyStroke(KeyEvent.VK_J, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_J, MENU_MASK), KeyStroke.getKeyStroke(KeyEvent.VK_E, 0), }, BaseKit.stopMacroRecordingAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT, MENU_MASK), BaseKit.collapseFoldAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_ADD, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_ADD, MENU_MASK), BaseKit.expandFoldAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT, MENU_MASK | InputEvent.SHIFT_MASK), BaseKit.collapseAllFoldsAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_ADD, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_ADD, MENU_MASK | InputEvent.SHIFT_MASK), BaseKit.expandAllFoldsAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, MENU_MASK), BaseKit.collapseFoldAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS, MENU_MASK), BaseKit.expandFoldAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, MENU_MASK), BaseKit.expandFoldAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_MINUS, MENU_MASK | InputEvent.SHIFT_MASK), BaseKit.collapseAllFoldsAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_EQUALS, MENU_MASK | InputEvent.SHIFT_MASK), BaseKit.expandAllFoldsAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_PLUS, MENU_MASK | InputEvent.SHIFT_MASK), BaseKit.expandAllFoldsAction ), Index: editor/libsrc/org/netbeans/editor/ext/ExtSettingsDefaults.java =================================================================== RCS file: /cvs/editor/libsrc/org/netbeans/editor/ext/ExtSettingsDefaults.java,v retrieving revision 1.33 diff -u -u -r1.33 ExtSettingsDefaults.java --- editor/libsrc/org/netbeans/editor/ext/ExtSettingsDefaults.java 25 May 2004 13:29:09 -0000 1.33 +++ editor/libsrc/org/netbeans/editor/ext/ExtSettingsDefaults.java 3 Aug 2004 01:57:23 -0000 @@ -72,6 +72,7 @@ public static final Integer defaultJavaDocAutoPopupDelay = new Integer(200); public static final Dimension defaultJavaDocPreferredSize = new Dimension(500, 300); public static final Boolean defaultJavaDocAutoPopup = Boolean.TRUE; + private static int MENU_MASK = java.awt.Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); public static final MultiKeyBinding[] defaultExtKeyBindings = new MultiKeyBinding[] { @@ -80,7 +81,7 @@ ExtKit.gotoDeclarationAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_F, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_F, MENU_MASK), ExtKit.findAction ), new MultiKeyBinding( @@ -88,7 +89,7 @@ ExtKit.findAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_H, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_H, MENU_MASK), ExtKit.replaceAction ), new MultiKeyBinding( @@ -108,11 +109,11 @@ ExtKit.escapeAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_OPEN_BRACKET, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_OPEN_BRACKET, MENU_MASK), ExtKit.matchBraceAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_OPEN_BRACKET, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_OPEN_BRACKET, MENU_MASK | InputEvent.SHIFT_MASK), ExtKit.selectionMatchBraceAction ), new MultiKeyBinding( @@ -120,8 +121,8 @@ ExtKit.showPopupMenuAction ), /* new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.CTRL_MASK), - // KeyStroke.getKeyStroke(KeyEvent.VK_BRACELEFT, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_U, MENU_MASK), + // KeyStroke.getKeyStroke(KeyEvent.VK_BRACELEFT, MENU_MASK), ExtKit.braceCodeSelectAction ), */ Index: editor/libsrc/org/netbeans/editor/ext/java/JavaSettingsDefaults.java =================================================================== RCS file: /cvs/editor/libsrc/org/netbeans/editor/ext/java/JavaSettingsDefaults.java,v retrieving revision 1.24 diff -u -u -r1.24 JavaSettingsDefaults.java --- editor/libsrc/org/netbeans/editor/ext/java/JavaSettingsDefaults.java 2 Jun 2004 11:49:14 -0000 1.24 +++ editor/libsrc/org/netbeans/editor/ext/java/JavaSettingsDefaults.java 3 Aug 2004 01:57:24 -0000 @@ -154,20 +154,22 @@ } public static MultiKeyBinding[] getJavaKeyBindings() { + int MENU_MASK = java.awt.Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); + return new MultiKeyBinding[] { new MultiKeyBinding( new KeyStroke[] { - KeyStroke.getKeyStroke(KeyEvent.VK_J, InputEvent.CTRL_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_J, MENU_MASK), KeyStroke.getKeyStroke(KeyEvent.VK_D, 0) }, "macro-debug-var" ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_T, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_T, MENU_MASK | InputEvent.SHIFT_MASK), ExtKit.commentAction ), new MultiKeyBinding( - KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + KeyStroke.getKeyStroke(KeyEvent.VK_D, MENU_MASK | InputEvent.SHIFT_MASK), ExtKit.uncommentAction ) }; Index: editor/src/org/netbeans/modules/editor/java/NbJavaSettingsInitializer.java =================================================================== RCS file: /cvs/editor/src/org/netbeans/modules/editor/java/NbJavaSettingsInitializer.java,v retrieving revision 1.28 diff -u -u -r1.28 NbJavaSettingsInitializer.java --- editor/src/org/netbeans/modules/editor/java/NbJavaSettingsInitializer.java 13 Jul 2004 07:20:09 -0000 1.28 +++ editor/src/org/netbeans/modules/editor/java/NbJavaSettingsInitializer.java 3 Aug 2004 01:57:25 -0000 @@ -13,6 +13,7 @@ package org.netbeans.modules.editor.java; +import java.awt.Toolkit; import java.awt.event.KeyEvent; import java.awt.event.InputEvent; import java.util.Map; @@ -98,6 +99,7 @@ } public MultiKeyBinding[] getJavaKeyBindings() { + int mask = Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); return new MultiKeyBinding[] { new MultiKeyBinding( new KeyStroke[] { @@ -127,7 +129,7 @@ ), new MultiKeyBinding( KeyStroke.getKeyStroke(KeyEvent.VK_B, - InputEvent.CTRL_MASK), + mask), JavaKit.gotoSuperImplementationAction ), new MultiKeyBinding( @@ -137,25 +139,25 @@ ), // new MultiKeyBinding( // KeyStroke.getKeyStroke(KeyEvent.VK_S, -// InputEvent.ALT_MASK | InputEvent.CTRL_MASK), +// InputEvent.ALT_MASK | mask), // JavaKit.tryCatchAction // ), new MultiKeyBinding( KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, - InputEvent.CTRL_MASK | InputEvent.SHIFT_MASK), + mask | InputEvent.SHIFT_MASK), JavaKit.javaDocShowAction ), new MultiKeyBinding( KeyStroke.getKeyStroke(KeyEvent.VK_A, - InputEvent.CTRL_MASK | InputEvent.ALT_MASK), + mask | InputEvent.ALT_MASK), JavaKit.selectNextElementAction ), new MultiKeyBinding( KeyStroke.getKeyStroke(KeyEvent.VK_A, - InputEvent.CTRL_MASK | InputEvent.ALT_MASK | InputEvent.SHIFT_MASK), + mask | InputEvent.ALT_MASK | InputEvent.SHIFT_MASK), JavaKit.selectPreviousElementAction ) Index: form/src/org/netbeans/modules/form/resources/layer.xml =================================================================== RCS file: /cvs/form/src/org/netbeans/modules/form/resources/layer.xml,v retrieving revision 1.77 diff -u -u -r1.77 layer.xml --- form/src/org/netbeans/modules/form/resources/layer.xml 9 Jul 2004 09:28:54 -0000 1.77 +++ form/src/org/netbeans/modules/form/resources/layer.xml 3 Aug 2004 01:57:32 -0000 @@ -460,7 +460,7 @@ - + Index: i18n/src/org/netbeans/modules/i18n/Layer.xml =================================================================== RCS file: /cvs/i18n/src/org/netbeans/modules/i18n/Layer.xml,v retrieving revision 1.21 diff -u -u -r1.21 Layer.xml --- i18n/src/org/netbeans/modules/i18n/Layer.xml 16 Mar 2004 15:29:41 -0000 1.21 +++ i18n/src/org/netbeans/modules/i18n/Layer.xml 3 Aug 2004 01:57:34 -0000 @@ -16,7 +16,7 @@ - + Index: ide/applemenu/manifest.mf =================================================================== RCS file: /cvs/ide/applemenu/manifest.mf,v retrieving revision 1.1 diff -u -u -r1.1 manifest.mf --- ide/applemenu/manifest.mf 8 Jun 2004 12:46:02 -0000 1.1 +++ ide/applemenu/manifest.mf 3 Aug 2004 01:57:34 -0000 @@ -4,6 +4,7 @@ OpenIDE-Module-Install: org/netbeans/modules/applemenu/Install.class OpenIDE-Module-Layer: org/netbeans/modules/applemenu/layer.xml OpenIDE-Module-Specification-Version: 1.1 +OpenIDE-Module-Requires: org.openide.modules.os.MacOSX Index: ide/applemenu/nbproject/project.properties =================================================================== RCS file: /cvs/ide/applemenu/nbproject/project.properties,v retrieving revision 1.1 diff -u -u -r1.1 project.properties --- ide/applemenu/nbproject/project.properties 8 Jun 2004 12:46:08 -0000 1.1 +++ ide/applemenu/nbproject/project.properties 3 Aug 2004 01:57:34 -0000 @@ -11,3 +11,4 @@ nbm.needs.restart=true cp.extra=eawtstub/dist/eawtstub.jar +is.eager=true Index: ide/applemenu/src/org/netbeans/modules/applemenu/layer.xml =================================================================== RCS file: /cvs/ide/applemenu/src/org/netbeans/modules/applemenu/layer.xml,v retrieving revision 1.1 diff -u -u -r1.1 layer.xml --- ide/applemenu/src/org/netbeans/modules/applemenu/layer.xml 8 Jun 2004 12:46:10 -0000 1.1 +++ ide/applemenu/src/org/netbeans/modules/applemenu/layer.xml 3 Aug 2004 01:57:34 -0000 @@ -37,6 +37,24 @@ --> + + + + + + + + + + + + + + + + + + Index: java/src/org/netbeans/modules/java/resources/mf-layer.xml =================================================================== RCS file: /cvs/java/src/org/netbeans/modules/java/resources/mf-layer.xml,v retrieving revision 1.49 diff -u -u -r1.49 mf-layer.xml --- java/src/org/netbeans/modules/java/resources/mf-layer.xml 30 Jul 2004 15:23:54 -0000 1.49 +++ java/src/org/netbeans/modules/java/resources/mf-layer.xml 3 Aug 2004 01:57:43 -0000 @@ -147,7 +147,7 @@ - + Index: junit/src/org/netbeans/modules/junit/resources/layer.xml =================================================================== RCS file: /cvs/junit/src/org/netbeans/modules/junit/resources/layer.xml,v retrieving revision 1.22 diff -u -u -r1.22 layer.xml --- junit/src/org/netbeans/modules/junit/resources/layer.xml 21 Jun 2004 07:20:01 -0000 1.22 +++ junit/src/org/netbeans/modules/junit/resources/layer.xml 3 Aug 2004 01:57:53 -0000 @@ -80,10 +80,10 @@ - + - + Index: monitor/src/org/netbeans/modules/web/monitor/resources/layer.xml =================================================================== RCS file: /cvs/monitor/src/org/netbeans/modules/web/monitor/resources/layer.xml,v retrieving revision 1.14 diff -u -u -r1.14 layer.xml --- monitor/src/org/netbeans/modules/web/monitor/resources/layer.xml 26 May 2004 13:01:53 -0000 1.14 +++ monitor/src/org/netbeans/modules/web/monitor/resources/layer.xml 3 Aug 2004 01:58:03 -0000 @@ -33,7 +33,7 @@ - + Index: openide/src/org/openide/util/Utilities.java =================================================================== RCS file: /cvs/openide/src/org/openide/util/Utilities.java,v retrieving revision 1.142 diff -u -u -r1.142 Utilities.java --- openide/src/org/openide/util/Utilities.java 30 Jul 2004 14:33:20 -0000 1.142 +++ openide/src/org/openide/util/Utilities.java 3 Aug 2004 01:58:10 -0000 @@ -1252,7 +1252,22 @@ } else { // last text must be the key code Integer i = (Integer)names.get (el); + boolean wildcard = (needed & WILDCARD_MASK) != 0; + //Strip out the explicit mask - KeyStroke won't know + //what to do with it + needed = needed & ~WILDCARD_MASK; + if (i != null) { + //#26854 - Default accelerator should be Command on mac + if (wildcard) { + needed |= Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); + if ((getOperatingSystem() & OS_MAC) != 0) { + if (!usableKeyOnMac(i.intValue(), needed)) { + needed &= ~Toolkit.getDefaultToolkit().getMenuShortcutKeyMask(); + needed |= KeyEvent.CTRL_MASK; + } + } + } return KeyStroke.getKeyStroke (i.intValue (), needed); } else { return null; @@ -1263,6 +1278,30 @@ return null; } } + + private static final boolean usableKeyOnMac (int key, int mask) { + //All permutations fail for Q except ctrl + if (key == KeyEvent.VK_Q) return false; + + boolean isMeta = ((mask & KeyEvent.META_MASK) != 0) || + ((mask & KeyEvent.CTRL_DOWN_MASK) != 0); + + boolean isAlt = ((mask & KeyEvent.ALT_MASK) != 0) || + ((mask & KeyEvent.ALT_DOWN_MASK) != 0); + + boolean isOnlyMeta = isMeta && (mask & ~(KeyEvent.META_DOWN_MASK | KeyEvent.META_MASK)) == 0; + + //Mac OS consumes keys Command+ these keys - the app will never see + //them, so CTRL should not be remapped for these + if (isOnlyMeta) { + return key != KeyEvent.VK_H && key != + KeyEvent.VK_SPACE && key != KeyEvent.VK_TAB; + } else if (key == KeyEvent.VK_D && isMeta && isAlt) { + return false; + } else { + return true; + } + } /** Convert a space-separated list of user-friendly key binding names to a list of Swing key strokes. * @param s the string with keys @@ -1283,6 +1322,7 @@ return (KeyStroke[])arr.toArray (new KeyStroke[arr.size ()]); } + private static final int WILDCARD_MASK = 32768; /** Adds characters for modifiers to the buffer. * @param buf buffer to add to @@ -1308,6 +1348,10 @@ buf.append("M"); // NOI18N b = true; } + if ((modif & WILDCARD_MASK) != 0) { + buf.append("D"); + b = true; + } return b; } @@ -1332,6 +1376,9 @@ break; case 'S': m |= KeyEvent.SHIFT_MASK; + break; + case 'D': + m |= WILDCARD_MASK; break; default: throw new NoSuchElementException (); Index: projects/projectui/src/org/netbeans/modules/project/ui/resources/layer.xml =================================================================== RCS file: /cvs/projects/projectui/src/org/netbeans/modules/project/ui/resources/layer.xml,v retrieving revision 1.35 diff -u -u -r1.35 layer.xml --- projects/projectui/src/org/netbeans/modules/project/ui/resources/layer.xml 30 Jul 2004 22:37:33 -0000 1.35 +++ projects/projectui/src/org/netbeans/modules/project/ui/resources/layer.xml 3 Aug 2004 01:58:16 -0000 @@ -499,31 +499,31 @@ - + - + - + - + - + - + - + @@ -547,15 +547,15 @@ - + - + - + Index: utilities/project/src/org/netbeans/modules/search/project/layer.xml =================================================================== RCS file: /cvs/utilities/project/src/org/netbeans/modules/search/project/layer.xml,v retrieving revision 1.3 diff -u -u -r1.3 layer.xml --- utilities/project/src/org/netbeans/modules/search/project/layer.xml 25 Jun 2004 06:43:57 -0000 1.3 +++ utilities/project/src/org/netbeans/modules/search/project/layer.xml 3 Aug 2004 01:58:31 -0000 @@ -33,7 +33,7 @@ - + Index: utilities/src/org/netbeans/modules/utilities/Layer.xml =================================================================== RCS file: /cvs/utilities/src/org/netbeans/modules/utilities/Layer.xml,v retrieving revision 1.64 diff -u -u -r1.64 Layer.xml --- utilities/src/org/netbeans/modules/utilities/Layer.xml 8 Jun 2004 13:27:49 -0000 1.64 +++ utilities/src/org/netbeans/modules/utilities/Layer.xml 3 Aug 2004 01:58:32 -0000 @@ -186,10 +186,10 @@ - + - + Index: vcscore/src/org/netbeans/modules/vcscore/resources/mf-layer.xml =================================================================== RCS file: /cvs/vcscore/src/org/netbeans/modules/vcscore/resources/mf-layer.xml,v retrieving revision 1.42 diff -u -u -r1.42 mf-layer.xml --- vcscore/src/org/netbeans/modules/vcscore/resources/mf-layer.xml 11 May 2004 15:49:08 -0000 1.42 +++ vcscore/src/org/netbeans/modules/vcscore/resources/mf-layer.xml 3 Aug 2004 01:58:33 -0000 @@ -52,13 +52,13 @@ - + - + - +