15 * QT highway and other applications |
15 * QT highway and other applications |
16 * |
16 * |
17 */ |
17 */ |
18 |
18 |
19 //TODO: to be deprecated |
19 //TODO: to be deprecated |
20 #include <qtcontactsglobal.h> |
|
21 #include "qcontactdetailfilter.h" |
|
22 #include "qcontactdetail.h" |
|
23 #include "qtcontacts.h" |
|
24 #include "convergedmessageaddress.h" |
20 #include "convergedmessageaddress.h" |
25 |
21 |
26 #include "msgserviceinterface.h" |
22 #include "msgserviceinterface.h" |
27 #include "msgviewmanager.h" |
23 #include "msgviewmanager.h" |
28 //INCLUDES |
24 #include "msgcontacthandler.h" |
29 |
25 |
30 MsgServiceInterface::MsgServiceInterface(QObject* parent, MsgViewManager* manager) |
26 MsgServiceInterface::MsgServiceInterface(QObject* parent, MsgViewManager* manager) |
31 :XQServiceProvider( QLatin1String("com.nokia.services.hbserviceprovider.conversationview"),parent), |
27 :XQServiceProvider( QLatin1String("com.nokia.services.hbserviceprovider.conversationview"),parent), |
32 mViewManager(manager) |
28 mViewManager(manager) |
33 { |
29 { |
88 } |
84 } |
89 } |
85 } |
90 mViewManager->openEditor(number,resolvedName); |
86 mViewManager->openEditor(number,resolvedName); |
91 } |
87 } |
92 |
88 |
93 bool MsgServiceInterface::resolveContact(const ConvergedMessageAddress &address, |
89 bool MsgServiceInterface::resolveContact( |
94 ContactDetail &contactDetail) |
90 const ConvergedMessageAddress &address, |
|
91 ContactDetail &contactDetail) |
|
92 { |
|
93 QString displayLabel = QString(""); |
|
94 int count; |
|
95 int localId = |
|
96 MsgContactHandler::resolveContactDisplayName(address.address(), |
|
97 displayLabel, |
|
98 count); |
|
99 |
|
100 if (localId != -1) |
95 { |
101 { |
96 QContactManager* mPhonebookManager = new QContactManager("symbian"); |
102 contactDetail.contactId = localId; |
97 QContactDetailFilter phoneFilter; |
103 contactDetail.displayName = displayLabel; |
98 phoneFilter.setDetailDefinitionName( |
|
99 QContactPhoneNumber::DefinitionName, |
|
100 QContactPhoneNumber::FieldNumber); |
|
101 phoneFilter.setValue(address.address()); |
|
102 phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith); |
|
103 |
|
104 QList<QContactSortOrder> sortOrder; |
|
105 QList<QContact> matchingContacts = mPhonebookManager->contacts( |
|
106 phoneFilter, |
|
107 sortOrder, |
|
108 QStringList()); |
|
109 |
|
110 if ( matchingContacts.count() > 0 ) { |
|
111 // Fill the contact details |
|
112 QContact match = matchingContacts.at(0); |
|
113 contactDetail.contactId = match.localId(); |
|
114 contactDetail.displayName = match.displayLabel(); |
|
115 return true; |
104 return true; |
116 } |
105 } |
117 |
106 |
118 return false; |
107 return false; |
119 } |
108 } |
120 |
109 |