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