2 // ShortcutRecorderInspector.h
5 // Copyright 2006 Contributors. All rights reserved.
13 // 2006-03-19 Created.
15 #import "ShortcutRecorderInspector.h"
16 #import "SRRecorderControl.h"
18 @implementation ShortcutRecorderInspector
24 [NSBundle loadNibNamed:@"ShortcutRecorderInspector" owner:self];
31 SRRecorderControl *recorder = (SRRecorderControl *)[self object];
32 unsigned int allowedFlags = 0, requiredFlags = 0;
34 // Undo support - TO COME
35 //[self beginUndoGrouping];
36 //[self noteAttributesWillChangeForObject: recorder];
39 if ([allowedModifiersCommandCheckBox state]) allowedFlags += NSCommandKeyMask;
40 if ([allowedModifiersOptionCheckBox state]) allowedFlags += NSAlternateKeyMask;
41 if ([allowedModifiersControlCheckBox state]) allowedFlags += NSControlKeyMask;
42 if ([allowedModifiersShiftCheckBox state]) allowedFlags += NSShiftKeyMask;
43 [recorder setAllowedFlags: allowedFlags];
44 [initialShortcutRecorder setAllowedFlags: allowedFlags];
47 if ([requiredModifiersCommandCheckBox state]) requiredFlags += NSCommandKeyMask;
48 if ([requiredModifiersOptionCheckBox state]) requiredFlags += NSAlternateKeyMask;
49 if ([requiredModifiersControlCheckBox state]) requiredFlags += NSControlKeyMask;
50 if ([requiredModifiersShiftCheckBox state]) requiredFlags += NSShiftKeyMask;
51 [recorder setRequiredFlags: requiredFlags];
52 [initialShortcutRecorder setRequiredFlags: requiredFlags];
55 [recorder setAutosaveName: [autoSaveNameTextField stringValue]];
58 [recorder setKeyCombo: [initialShortcutRecorder keyCombo]];
60 [recorder setEnabled: [enabledButton state]];
61 [recorder setHidden: [hiddenButton state]];
66 - (void)revert:(id)sender
68 SRRecorderControl *recorder = (SRRecorderControl *)[self object];
69 unsigned int allowedFlags = [recorder allowedFlags], requiredFlags = [recorder requiredFlags];
71 // Set allowed checkbox values
72 [allowedModifiersCommandCheckBox setState: (allowedFlags & NSCommandKeyMask) ? NSOnState : NSOffState];
73 [allowedModifiersOptionCheckBox setState: (allowedFlags & NSAlternateKeyMask) ? NSOnState : NSOffState];
74 [allowedModifiersControlCheckBox setState: (allowedFlags & NSControlKeyMask) ? NSOnState : NSOffState];
75 [allowedModifiersShiftCheckBox setState: (allowedFlags & NSShiftKeyMask) ? NSOnState : NSOffState];
77 // Set required checkbox values
78 [requiredModifiersCommandCheckBox setState: (requiredFlags & NSCommandKeyMask) ? NSOnState : NSOffState];
79 [requiredModifiersOptionCheckBox setState: (requiredFlags & NSAlternateKeyMask) ? NSOnState : NSOffState];
80 [requiredModifiersControlCheckBox setState: (requiredFlags & NSControlKeyMask) ? NSOnState : NSOffState];
81 [requiredModifiersShiftCheckBox setState: (requiredFlags & NSShiftKeyMask) ? NSOnState : NSOffState];
84 if ([[recorder autosaveName] length]) [autoSaveNameTextField setStringValue: [recorder autosaveName]];
85 else [autoSaveNameTextField setStringValue: @""];
87 // Set initial keycombo
88 [initialShortcutRecorder setKeyCombo: [recorder keyCombo]];
90 [enabledButton setState: [recorder isEnabled]];
91 [hiddenButton setState: [recorder isHidden]];
93 [super revert: sender];
96 - (void)shortcutRecorder:(SRRecorderControl *)aRecorder keyComboDidChange:(KeyCombo)newKeyCombo
98 if (aRecorder == initialShortcutRecorder)
100 SRRecorderControl *recorder = (SRRecorderControl *)[self object];
101 [recorder setKeyCombo: [initialShortcutRecorder keyCombo]];
103 [[self inspectedDocument] drawObject: recorder];