Mercurial > dwindows
comparison mac/dw.m @ 1235:9327f684c9b8
Attempt at fixing Copy, Cut, Paste, Select All Mac key combos...
when there is no Edit menu present.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 17 Oct 2011 16:15:13 +0000 |
parents | bee6fc8119ec |
children | 46de4dbe710d |
comparison
equal
deleted
inserted
replaced
1234:bee6fc8119ec | 1235:9327f684c9b8 |
---|---|
1040 } else | 1040 } else |
1041 { | 1041 { |
1042 [super keyUp:theEvent]; | 1042 [super keyUp:theEvent]; |
1043 } | 1043 } |
1044 } | 1044 } |
1045 -(BOOL)performKeyEquivalent:(NSEvent *)theEvent | |
1046 { | |
1047 if(([theEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask) == NSCommandKeyMask) | |
1048 { | |
1049 if ([[theEvent charactersIgnoringModifiers] isEqualToString:@"x"]) | |
1050 return [NSApp sendAction:@selector(cut:) to:[[self window] firstResponder] from:self]; | |
1051 else if ([[theEvent charactersIgnoringModifiers] isEqualToString:@"c"]) | |
1052 return [NSApp sendAction:@selector(copy:) to:[[self window] firstResponder] from:self]; | |
1053 else if ([[theEvent charactersIgnoringModifiers] isEqualToString:@"v"]) | |
1054 return [NSApp sendAction:@selector(paste:) to:[[self window] firstResponder] from:self]; | |
1055 else if ([[theEvent charactersIgnoringModifiers] isEqualToString:@"a"]) | |
1056 return [NSApp sendAction:@selector(selectAll:) to:[[self window] firstResponder] from:self]; | |
1057 } | |
1058 return [super performKeyEquivalent:theEvent]; | |
1059 } | |
1045 -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; } | 1060 -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; } |
1046 @end | 1061 @end |
1047 | 1062 |
1048 /* Subclass for a entryfield password type */ | 1063 /* Subclass for a entryfield password type */ |
1049 @interface DWEntryFieldPassword : NSSecureTextField | 1064 @interface DWEntryFieldPassword : NSSecureTextField |
1063 -(void)keyUp:(NSEvent *)theEvent | 1078 -(void)keyUp:(NSEvent *)theEvent |
1064 { | 1079 { |
1065 if(clickDefault && [[theEvent charactersIgnoringModifiers] characterAtIndex:0] == VK_RETURN) | 1080 if(clickDefault && [[theEvent charactersIgnoringModifiers] characterAtIndex:0] == VK_RETURN) |
1066 { | 1081 { |
1067 [[self window] makeFirstResponder:clickDefault]; | 1082 [[self window] makeFirstResponder:clickDefault]; |
1068 } else | 1083 } |
1084 else | |
1069 { | 1085 { |
1070 [super keyUp:theEvent]; | 1086 [super keyUp:theEvent]; |
1071 } | 1087 } |
1088 } | |
1089 -(BOOL)performKeyEquivalent:(NSEvent *)theEvent | |
1090 { | |
1091 if(([theEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask) == NSCommandKeyMask) | |
1092 { | |
1093 if ([[theEvent charactersIgnoringModifiers] isEqualToString:@"x"]) | |
1094 return [NSApp sendAction:@selector(cut:) to:[[self window] firstResponder] from:self]; | |
1095 else if ([[theEvent charactersIgnoringModifiers] isEqualToString:@"c"]) | |
1096 return [NSApp sendAction:@selector(copy:) to:[[self window] firstResponder] from:self]; | |
1097 else if ([[theEvent charactersIgnoringModifiers] isEqualToString:@"v"]) | |
1098 return [NSApp sendAction:@selector(paste:) to:[[self window] firstResponder] from:self]; | |
1099 else if ([[theEvent charactersIgnoringModifiers] isEqualToString:@"a"]) | |
1100 return [NSApp sendAction:@selector(selectAll:) to:[[self window] firstResponder] from:self]; | |
1101 } | |
1102 return [super performKeyEquivalent:theEvent]; | |
1072 } | 1103 } |
1073 -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; } | 1104 -(void)dealloc { UserData *root = userdata; _remove_userdata(&root, NULL, TRUE); [super dealloc]; } |
1074 @end | 1105 @end |
1075 | 1106 |
1076 /* Subclass for a Notebook control type */ | 1107 /* Subclass for a Notebook control type */ |