[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/src ChangeLog nsmenu.m
From: |
Adrian Robert |
Subject: |
[Emacs-diffs] emacs/src ChangeLog nsmenu.m |
Date: |
Thu, 22 Jan 2009 12:23:49 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Adrian Robert <arobert> 09/01/22 12:23:48
Modified files:
src : ChangeLog nsmenu.m
Log message:
* nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
Display all shortcuts, including those w/o super modifier.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7299&r2=1.7300
http://cvs.savannah.gnu.org/viewcvs/emacs/src/nsmenu.m?cvsroot=emacs&r1=1.14&r2=1.15
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7299
retrieving revision 1.7300
diff -u -b -r1.7299 -r1.7300
--- ChangeLog 22 Jan 2009 11:41:24 -0000 1.7299
+++ ChangeLog 22 Jan 2009 12:23:47 -0000 1.7300
@@ -3,6 +3,9 @@
* nsterm.m (EmavsView-keyDown:): Treat nil as Qnone for
ns_alternate_modifier. (Bug#1217)
+ * nsmenu.m (EmacsMenu-parseKeyEquiv:, addItemWithWidgetValue:):
+ Display all shortcuts, including those w/o super modifier.
+
2009-01-22 Chong Yidong <address@hidden>
* fileio.c (Vwrite_region_post_annotation_function)
Index: nsmenu.m
===================================================================
RCS file: /sources/emacs/emacs/src/nsmenu.m,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- nsmenu.m 21 Jan 2009 22:26:32 -0000 1.14
+++ nsmenu.m 22 Jan 2009 12:23:48 -0000 1.15
@@ -589,21 +589,27 @@
}
-/* parse a widget_value's key rep (examples: 's-p', 's-S', '(C-x C-s)',
'<f13>')
- into an accelerator string */
+/* Parse a widget_value's key rep (examples: 's-p', 's-S', '(C-x C-s)',
'<f13>')
+ into an accelerator string. We are only able to display a single character
+ for an accelerator, together with an optional modifier combination. (Under
+ Carbon more control was possible, but in Cocoa multi-char strings passed to
+ NSMenuItem get ignored. For now we try to display a super-single letter
+ combo, and return the others as strings to be appended to the item title.
+ (This is signaled by setting keyEquivModMask to 0 for now.) */
-(NSString *)parseKeyEquiv: (char *)key
{
char *tpos = key;
- keyEquivModMask = 0;
- /* currently we just parse 'super' combinations;
- later we'll set keyEquivModMask */
+ keyEquivModMask = NSCommandKeyMask;
+
if (!key || !strlen (key))
return @"";
while (*tpos == ' ' || *tpos == '(')
tpos++;
- if (*tpos != 's'/* || tpos[3] != ')'*/)
- return @"";
+ if (*tpos != 's') {
+ keyEquivModMask = 0; /* signal */
+ return [NSString stringWithUTF8String: tpos];
+ }
return [NSString stringWithFormat: @"%c", tpos[2]];
}
@@ -626,11 +632,12 @@
title = @"< ? >"; /* (get out in the open so we know about it) */
keyEq = [self parseKeyEquiv: wv->key];
+ if (keyEquivModMask == 0)
+ title = [title stringByAppendingFormat: @" (%@)", keyEq];
item = [self addItemWithTitle: (NSString *)title
action: @selector (menuDown:)
keyEquivalent: keyEq];
- if (keyEquivModMask)
[item setKeyEquivalentModifierMask: keyEquivModMask];
[item setEnabled: wv->enabled];
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] emacs/src ChangeLog nsmenu.m,
Adrian Robert <=