14 * Description: QT contact resolver interface |
14 * Description: QT contact resolver interface |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 // SYSTEM INCLUDES |
18 // SYSTEM INCLUDES |
19 //#include <QtContacts> |
|
20 #include "qtcontacts.h" |
19 #include "qtcontacts.h" |
21 #include "qcontactdetailfilter.h" |
20 #include "qcontactdetailfilter.h" |
22 #include "qcontactdetail.h" |
21 #include <QList> |
23 |
22 |
24 #include <QList> |
|
25 // USER INCLUDES |
23 // USER INCLUDES |
26 #include "ccscontactsresolver.h" |
24 #include "ccscontactsresolver.h" |
27 #include "qcontactnickname.h" |
|
28 #include "qcontactorganization.h" |
|
29 // ======================== Member Functions ==================== |
25 // ======================== Member Functions ==================== |
30 |
26 |
31 // ---------------------------------------------------------------------------- |
27 // ---------------------------------------------------------------------------- |
32 // CCsContactsResolver::ContactsResolver |
28 // CCsContactsResolver::ContactsResolver |
33 // @see contactsresolver.h |
29 // @see contactsresolver.h |
53 bool CCsContactsResolver::resolveContact( |
49 bool CCsContactsResolver::resolveContact( |
54 const QString &address, |
50 const QString &address, |
55 CCsContactDetail &contactDetail) |
51 CCsContactDetail &contactDetail) |
56 { |
52 { |
57 QContactDetailFilter phoneFilter; |
53 QContactDetailFilter phoneFilter; |
58 phoneFilter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName, QContactPhoneNumber::FieldNumber); |
54 phoneFilter.setDetailDefinitionName( |
|
55 QContactPhoneNumber::DefinitionName, |
|
56 QContactPhoneNumber::FieldNumber); |
|
57 |
59 phoneFilter.setValue(address); |
58 phoneFilter.setValue(address); |
60 phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith); |
59 phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith); |
61 |
60 |
62 QList<QContactLocalId> matchingContacts = mPhonebookManager->contacts(phoneFilter); |
61 QList<QContactSortOrder> sortOrder; |
|
62 QList<QContact> matchingContacts = mPhonebookManager->contacts( |
|
63 phoneFilter, |
|
64 sortOrder, |
|
65 QStringList()); |
63 |
66 |
64 if ( matchingContacts.count() > 0 ) { |
67 if ( matchingContacts.count() > 0 ) { |
65 // Fill the contact details |
68 QContact match = matchingContacts.at(0); |
66 contactDetail.contactId = matchingContacts.at(0); |
69 // Fill the contact details |
67 QContact match = mPhonebookManager->contact(matchingContacts.at(0)); |
70 contactDetail.contactId = match.localId(); |
68 |
71 contactDetail.displayName = match.displayLabel(); |
69 QContactName nameDetails = match.detail(QContactName::DefinitionName); |
72 return true; |
70 |
73 } |
71 QContactName name = match.detail(QContactName::DefinitionName); |
|
72 contactDetail.firstName = name.first(); |
|
73 contactDetail.lastName = name.last(); |
|
74 |
|
75 contactDetail.nickName = match.detail<QContactNickname>().nickname(); |
|
76 |
|
77 //campany name QContactOrganization |
|
78 contactDetail.companyName = match.detail<QContactOrganization>().name(); |
|
79 |
|
80 return true; |
|
81 |
|
82 } |
|
83 return false; |
74 return false; |
84 } |
75 } |
85 |
76 |
86 // ---------------------------------------------------------------------------- |
77 // ---------------------------------------------------------------------------- |
87 // CCsContactsResolver::resolveContactId |
78 // CCsContactsResolver::resolveContactId |
92 CCsContactDetail &contactDetail) |
83 CCsContactDetail &contactDetail) |
93 { |
84 { |
94 // Fetch back the persisted contact |
85 // Fetch back the persisted contact |
95 QContact contact = mPhonebookManager->contact(contactId); |
86 QContact contact = mPhonebookManager->contact(contactId); |
96 contactDetail.contactId = contact.localId(); |
87 contactDetail.contactId = contact.localId(); |
97 QContactName name = contact.detail(QContactName::DefinitionName); |
|
98 contactDetail.firstName = name.first(); |
|
99 contactDetail.lastName = name.last(); |
|
100 |
88 |
|
89 contactDetail.displayName = contact.displayLabel(); |
|
90 |
101 QList<QContactPhoneNumber> numbers = contact.details<QContactPhoneNumber>(); |
91 QList<QContactPhoneNumber> numbers = contact.details<QContactPhoneNumber>(); |
102 int numberCount = numbers.count(); |
92 int numberCount = numbers.count(); |
103 |
93 |
104 for ( int a=0; a<numberCount ;++a) |
94 for ( int a=0; a<numberCount ;++a) |
105 { |
95 { |
106 QString phoneNumber= numbers.at(a).number(); |
96 QString phoneNumber= numbers.at(a).number(); |
107 contactDetail.addressList.append(phoneNumber); |
97 contactDetail.addressList.append(phoneNumber); |
108 } |
98 } |
109 |
|
110 QContactNickname nickName = contact.detail(QContactName::DefinitionName); |
|
111 contactDetail.nickName = nickName.nickname(); |
|
112 |
|
113 //company name QContactOrganization |
|
114 contactDetail.companyName = contact.detail<QContactOrganization>().name(); |
|
115 } |
99 } |
116 |
100 |
117 // EOF |
101 // EOF |