2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the License,
7 * or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11 * Public License for more details.
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 #import "ESAddressBookIntegrationAdvancedPreferences.h"
18 #import <AddressBook/AddressBook.h>
19 #import <Adium/AIPlugin.h>
20 #import <Adium/AIContactControllerProtocol.h>
22 #define PREF_GROUP_ADDRESSBOOK @"Address Book"
23 #define KEY_AB_ENABLE_IMPORT @"AB Enable Import"
24 #define KEY_AB_DISPLAYFORMAT @"AB Display Format"
25 #define KEY_AB_IMAGE_SYNC @"AB Image Sync"
26 #define KEY_AB_NOTE_SYNC @"AB Note Sync"
27 #define KEY_AB_USE_IMAGES @"AB Use AB Images"
28 #define KEY_AB_USE_NICKNAME @"AB Use NickName"
29 #define KEY_AB_USE_MIDDLE @"AB Use Middle Name"
30 #define KEY_AB_PREFER_ADDRESS_BOOK_IMAGES @"AB Prefer AB Images"
31 #define KEY_AB_CREATE_METACONTACTS @"AB Create MetaContacts"
32 #define KEY_AB_UNIQUE_ID @"AB Unique ID"
34 #define AB_DISPLAYFORMAT_DEFAULT_PREFS @"AB Display Format Defaults"
45 @interface ESAddressBookIntegrationPlugin
: AIPlugin
<AIListObjectObserver
, ABImageClient
> {
47 ESAddressBookIntegrationAdvancedPreferences
*advancedPreferences
;
49 NSMutableDictionary
*addressBookDict
;
51 NSMutableArray
*listObjectArrayForImageData
;
52 NSMutableArray
*personArrayForImageData
;
53 NSTimer
*imageLookupTimer
;
54 NSMutableDictionary
*trackingDict
;
55 NSMutableDictionary
*trackingDictPersonToTagNumber
;
56 NSMutableDictionary
*trackingDictTagNumberToPerson
;
58 NSMenuItem
*showInABContextualMenuItem
;
59 NSMenuItem
*editInABContextualMenuItem
;
60 NSMenuItem
*addToABContexualMenuItem
;
69 BOOL preferAddressBookImages
;
71 BOOL createMetaContacts
;
74 + (AIService
*)serviceFromProperty
:(NSString
*)property
;
76 + (NSString
*)propertyFromService
:(AIService
*)service
;