1 /* This is -*- ObjC -*- */
2 
3 #include <AppKit/AppKit.h>
4 #include <Addresses/Addresses.h>
5 
6 @interface Controller : NSObject
7 {
8   NSFileManager *_fm;
9   NSArray *_peopleCache; ADGroup *_currentGroup;
10   ADAddressBook *_book;
11 
12   id personView, scrollView, clipView;
13   id groupsBrowser;
14   id servicesMenu;
15   id editButton, editItem, shareItem;
16   id mergePersonsItem;
17   id duplicatePersonItem;
18   id thisIsMeItem;
19 
20   id prefsPanel;
21   id prefsAutosaveButton;
22   id prefsAddressLayoutPopup;
23   id prefsScreenNameLayoutMatrix;
24 
25   id lastCell;
26 
27   BOOL _changed, _selfChanging;
28   BOOL _selectedByDrop;
29 
30   NSDictionary *_countryCodeDict;
31 }
32 
33 - (void) createCache;
34 - (NSArray *) groupNames;
35 
36 - (void) selectGroup: (ADGroup*) group;
37 - (void) selectPerson: (ADPerson*) person;
38 - (void) deletePersonAndSelectNext: (ADPerson*) person;
39 - (void) beginEditingPerson: (ADPerson*) person;
40 - (void) finishEditingPerson;
41 
42 - (void) doEditPerson: (id) sender;
43 - (void) doTogglePersonEditable: (id) sender;
44 - (void) doCreatePerson: (id) sender;
45 - (IBAction) doDeletePerson: (id) sender;
46 - (void) doImportPerson: (id) sender;
47 - (void) doExportPerson: (id) sender;
48 - (void) doSetMe: (id) sender;
49 - (void) doShowMe: (id) sender;
50 - (void) doSelectAllPersons: (id) sender;
51 - (void) doToggleShared: (id) sender;
52 - (void) doDuplicatePerson: (id) sender;
53 - (void) doMergePersons: (id) sender;
54 
55 - (void) doCreateGroup: (id) sender;
56 - (void) doDeleteGroup: (id) sender;
57 - (void) doSaveDatabase: (id) sender;
58 
59 - (void) initPrefsPanel;
60 - (void) doShowPrefsPanel: (id) sender;
61 - (void) prefsToggleAutosave: (id) sender;
62 - (void) prefsChangeAddressLayout: (id) sender;
63 - (void) prefsChangeScreenNameLayout: (id) sender;
64 
65 - (void) handleDatabaseChanged: (NSNotification*) note;
66 - (void) handleDatabaseChangedExternally: (NSNotification*) note;
67 - (void) handleNameChanged: (NSNotification*) note;
68 @end
69