Use the metacontact's icon for the chat's icon (seen in vertical tabs and when the...
[adiumx.git] / Frameworks / ShortcutRecorder / Palette / ShortcutRecorderInspector.m
bloba659bf721d110192fbadf0f4869373dd5be75221
1 //
2 //  ShortcutRecorderInspector.h
3 //  ShortcutRecorder
4 //
5 //  Copyright 2006 Contributors. All rights reserved.
6 //
7 //  License: BSD
8 //
9 //  Contributors:
10 //      David Dauer
12 //  Revisions:
13 //      2006-03-19 Created.
15 #import "ShortcutRecorderInspector.h"
16 #import "SRRecorderControl.h"
18 @implementation ShortcutRecorderInspector
20 - (id)init
22     self = [super init];
23         
24     [NSBundle loadNibNamed:@"ShortcutRecorderInspector" owner:self];
25         
26     return self;
29 - (void)ok:(id)sender
31         SRRecorderControl *recorder = (SRRecorderControl *)[self object];
32         unsigned int allowedFlags = 0, requiredFlags = 0;
33         
34         // Undo support - TO COME
35         //[self beginUndoGrouping];
36     //[self noteAttributesWillChangeForObject: recorder];
37         
38         // Set allowed flags
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];
46         // Set required flags   
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];
54         // Set autosave name
55         [recorder setAutosaveName: [autoSaveNameTextField stringValue]];
56         
57         // Set initial combo
58         [recorder setKeyCombo: [initialShortcutRecorder keyCombo]];
59         
60         [recorder setEnabled: [enabledButton state]];
61         [recorder setHidden: [hiddenButton state]];
62         
63     [super ok: sender];
66 - (void)revert:(id)sender
68         SRRecorderControl *recorder = (SRRecorderControl *)[self object];
69         unsigned int allowedFlags = [recorder allowedFlags], requiredFlags = [recorder requiredFlags];
70         
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];
76         
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];
82     
83         // Set autosave name
84         if ([[recorder autosaveName] length]) [autoSaveNameTextField setStringValue: [recorder autosaveName]];
85         else [autoSaveNameTextField setStringValue: @""];
87         // Set initial keycombo
88         [initialShortcutRecorder setKeyCombo: [recorder keyCombo]];
89         
90         [enabledButton setState: [recorder isEnabled]];
91         [hiddenButton setState: [recorder isHidden]];
92         
93         [super revert: sender];
96 - (void)shortcutRecorder:(SRRecorderControl *)aRecorder keyComboDidChange:(KeyCombo)newKeyCombo
98         if (aRecorder == initialShortcutRecorder)
99         {
100                 SRRecorderControl *recorder = (SRRecorderControl *)[self object];
101                 [recorder setKeyCombo: [initialShortcutRecorder keyCombo]];
102                 
103                 [[self inspectedDocument] drawObject: recorder];
104         }
107 @end