26 #include <qcontactdetailfilter.h> |
26 #include <qcontactdetailfilter.h> |
27 #include <QFile> |
27 #include <QFile> |
28 #include <qversitcontactimporter.h> |
28 #include <qversitcontactimporter.h> |
29 #include <qversitdocument.h> |
29 #include <qversitdocument.h> |
30 #include <qversitreader.h> |
30 #include <qversitreader.h> |
|
31 #include <qcontactid.h> |
31 |
32 |
32 QTM_BEGIN_NAMESPACE |
33 QTM_BEGIN_NAMESPACE |
33 class QContactManager; |
34 class QContactManager; |
34 QTM_END_NAMESPACE |
35 QTM_END_NAMESPACE |
35 |
36 |
36 QTM_USE_NAMESPACE |
37 QTM_USE_NAMESPACE |
37 |
38 |
38 class MsgContactHandler |
39 class MsgContactHandler |
39 { |
40 { |
40 |
41 |
41 public: |
42 public: |
42 |
43 |
43 /** |
44 /** |
44 * This shall resolve contact number with display name |
45 * This shall resolve contact number with display name |
45 * @param contactNumber number to resolve |
46 * @param contactNumber number to resolve |
46 * @param displayName resolved name |
47 * @param displayName resolved name |
47 * @param countPhoneNumber specifies number of contacts inside |
48 * @param countPhoneNumber specifies number of contacts inside |
48 * the resolved contact ex mobile, home, office etc |
49 * the resolved contact ex mobile, home, office etc |
49 * @return contacts unique localId |
50 * @return contacts unique localId |
50 */ |
51 */ |
51 static int resolveContactDisplayName(const QString& contactNumber, |
52 static int resolveContactDisplayName(const QString& contactNumber, |
52 QString& displayName, |
53 QString& displayName, |
146 QContactDetailFilter phoneFilter; |
147 QContactDetailFilter phoneFilter; |
147 phoneFilter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName, |
148 phoneFilter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName, |
148 QContactPhoneNumber::FieldNumber); |
149 QContactPhoneNumber::FieldNumber); |
149 phoneFilter.setValue(phoneNumber); |
150 phoneFilter.setValue(phoneNumber); |
150 phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith); |
151 phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith); |
151 |
152 |
152 QList<QContact> matchingContacts = phonebookManager.contacts(phoneFilter); |
153 QList<QContact> matchingContacts = phonebookManager.contacts(phoneFilter); |
153 |
154 |
154 return matchingContacts; |
155 return matchingContacts; |
155 } |
156 } |
156 |
157 |
157 /** |
158 /** |
158 * Get display-name of a contact from VCard. |
159 * Get display-name of a contact from VCard. |
159 * @param filePath, VCard file-path |
160 * @param filePath, VCard file-path |
160 * @return display-name |
161 * @return display-name |
161 */ |
162 */ |
200 } |
201 } |
201 } |
202 } |
202 file.close(); |
203 file.close(); |
203 return displayName; |
204 return displayName; |
204 } |
205 } |
|
206 |
|
207 /** |
|
208 * Get list of self-addresses |
|
209 * @return QStringList, list of self-addresses |
|
210 */ |
|
211 static QStringList selfAddresses() |
|
212 { |
|
213 QStringList selfAddrs; |
|
214 QContactManager* contactManager = |
|
215 new QContactManager("symbian"); |
|
216 QContactLocalId selfId = contactManager->selfContactId(); |
|
217 if( (selfId == 0) || |
|
218 (contactManager->error() == QContactManager::DoesNotExistError) ) |
|
219 { |
|
220 // if no self-address exists |
|
221 return selfAddrs; |
|
222 } |
|
223 |
|
224 QContact selfContact = contactManager->contact(selfId); |
|
225 |
|
226 // append numbers to the list of self-addresses |
|
227 QList<QContactPhoneNumber> selfPhoneNumbers = |
|
228 selfContact.details<QContactPhoneNumber>(); |
|
229 int selfNumCount = selfPhoneNumbers.count(); |
|
230 for(int i=0; i< selfNumCount; i++) |
|
231 { |
|
232 selfAddrs << selfPhoneNumbers.at(i).number(); |
|
233 } |
|
234 |
|
235 // append email-addresses to the list |
|
236 QList<QContactEmailAddress> selfEmailAddrs = |
|
237 selfContact.details<QContactEmailAddress>(); |
|
238 int selfEmailAddrCount = selfEmailAddrs.count(); |
|
239 for(int i=0; i< selfEmailAddrCount; i++) |
|
240 { |
|
241 selfAddrs << selfEmailAddrs.at(i).emailAddress(); |
|
242 } |
|
243 return selfAddrs; |
|
244 } |
|
245 |
205 }; |
246 }; |
206 |
247 |
207 #endif /* MSGCONTACTHANDLER_H_ */ |
248 #endif /* MSGCONTACTHANDLER_H_ */ |