42 { |
42 { |
43 mViewManager->setServiceRequest(true); |
43 mViewManager->setServiceRequest(true); |
44 mViewManager->send(contactId, phoneNumber, displayName); |
44 mViewManager->send(contactId, phoneNumber, displayName); |
45 } |
45 } |
46 |
46 |
|
47 |
|
48 void MsgServiceInterface::send(const QString phoneNumber, const QString alias, const QString bodyText) |
|
49 { |
|
50 mViewManager->setServiceRequest(true); |
|
51 mViewManager->send(phoneNumber, alias, bodyText); |
|
52 } |
|
53 |
|
54 |
47 void MsgServiceInterface::open(qint64 conversationId) |
55 void MsgServiceInterface::open(qint64 conversationId) |
48 { |
56 { |
49 mViewManager->setServiceRequest(false); |
57 mViewManager->setServiceRequest(false); |
50 mViewManager->open(conversationId); |
58 mViewManager->open(conversationId); |
51 } |
59 } |
54 { |
62 { |
55 mViewManager->setServiceRequest(true); |
63 mViewManager->setServiceRequest(true); |
56 mViewManager->send(data); |
64 mViewManager->send(data); |
57 } |
65 } |
58 |
66 |
|
67 void MsgServiceInterface::view(int msgId) |
|
68 { |
|
69 mViewManager->view(msgId); |
|
70 } |
|
71 |
59 void MsgServiceInterface::openConversationView(QString number, QString name) |
72 void MsgServiceInterface::openConversationView(QString number, QString name) |
60 { |
73 { |
61 mViewManager->setServiceRequest(true); |
74 mViewManager->setServiceRequest(true); |
62 |
75 |
63 QString resolvedName; |
76 QString resolvedName; |
69 |
82 |
70 ContactDetail contactDetail; |
83 ContactDetail contactDetail; |
71 bool ret = resolveContact(address, contactDetail); |
84 bool ret = resolveContact(address, contactDetail); |
72 if(ret) |
85 if(ret) |
73 { |
86 { |
74 if(!contactDetail.lastName.isEmpty()) |
87 resolvedName = contactDetail.displayName; |
75 { |
|
76 resolvedName += contactDetail.lastName; |
|
77 if(!contactDetail.firstName.isEmpty()) |
|
78 { |
|
79 resolvedName += ", "; |
|
80 } |
|
81 } |
|
82 resolvedName += contactDetail.firstName; |
|
83 } |
88 } |
84 } |
89 } |
85 mViewManager->openEditor(number,resolvedName); |
90 mViewManager->openEditor(number,resolvedName); |
86 } |
91 } |
87 |
92 |
88 bool MsgServiceInterface::resolveContact(const ConvergedMessageAddress &address, |
93 bool MsgServiceInterface::resolveContact(const ConvergedMessageAddress &address, |
89 ContactDetail &contactDetail) |
94 ContactDetail &contactDetail) |
90 { |
95 { |
91 QContactManager* mPhonebookManager = new QContactManager("symbian"); |
96 QContactManager* mPhonebookManager = new QContactManager("symbian"); |
92 QContactDetailFilter phoneFilter; |
97 QContactDetailFilter phoneFilter; |
93 phoneFilter.setDetailDefinitionName(QContactPhoneNumber::DefinitionName, QContactPhoneNumber::FieldNumber); |
98 phoneFilter.setDetailDefinitionName( |
|
99 QContactPhoneNumber::DefinitionName, |
|
100 QContactPhoneNumber::FieldNumber); |
94 phoneFilter.setValue(address.address()); |
101 phoneFilter.setValue(address.address()); |
95 phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith); |
102 phoneFilter.setMatchFlags(QContactFilter::MatchEndsWith); |
96 |
103 |
97 QList<QContactLocalId> matchingContacts = mPhonebookManager->contacts(phoneFilter); |
104 QList<QContactSortOrder> sortOrder; |
|
105 QList<QContact> matchingContacts = mPhonebookManager->contacts( |
|
106 phoneFilter, |
|
107 sortOrder, |
|
108 QStringList()); |
98 |
109 |
99 if ( matchingContacts.count() > 0 ) { |
110 if ( matchingContacts.count() > 0 ) { |
100 // Fill the contact details |
111 // Fill the contact details |
101 contactDetail.contactId = matchingContacts.at(0); |
112 QContact match = matchingContacts.at(0); |
102 QContact match = mPhonebookManager->contact(matchingContacts.at(0)); |
113 contactDetail.contactId = match.localId(); |
103 |
114 contactDetail.displayName = match.displayLabel(); |
104 QContactName nameDetails = match.detail(QContactName::DefinitionName); |
115 return true; |
105 |
|
106 QContactName name = match.detail(QContactName::DefinitionName); |
|
107 contactDetail.firstName = name.first(); |
|
108 contactDetail.lastName = name.last(); |
|
109 return true; |
|
110 } |
116 } |
111 |
117 |
112 return false; |
118 return false; |
113 } |
119 } |
114 |
120 |