5 // Created by Quentin Carnicelli on Sat Aug 02 2003.
6 // Copyright (c) 2003 Quentin D. Carnicelli. All rights reserved.
11 @implementation PTKeyCombo
15 return [self keyComboWithKeyCode: -1 modifiers:0];
18 + (id)keyComboWithKeyCode: (int)keyCode modifiers: (unsigned int)modifiers
20 return [[[self alloc] initWithKeyCode: keyCode modifiers: modifiers] autorelease];
23 - (id)initWithKeyCode: (int)keyCode modifiers: (unsigned int)modifiers
30 mModifiers = modifiers;
36 - (id)initWithPlistRepresentation: (id)plist
38 int keyCode, modifiers;
40 if( !plist || ![plist count] )
47 keyCode = [[plist objectForKey: @"keyCode"] intValue];
48 if( keyCode < 0 ) keyCode = -1;
50 modifiers = [[plist objectForKey: @"modifiers"] unsignedIntValue];
53 return [self initWithKeyCode: keyCode modifiers: modifiers];
56 - (id)plistRepresentation
58 return [NSDictionary dictionaryWithObjectsAndKeys:
59 [NSNumber numberWithInt: [self keyCode]], @"keyCode",
60 [NSNumber numberWithUnsignedInt: [self modifiers]], @"modifiers",
64 - (id)copyWithZone:(NSZone*)zone;
69 - (BOOL)isEqual: (PTKeyCombo*)combo
71 return [self keyCode] == [combo keyCode] &&
72 [self modifiers] == [combo modifiers];
82 - (unsigned int)modifiers
87 - (BOOL)isValidHotKeyCombo
94 return mKeyCode == -1;