117 fieldList.append(newField); |
117 fieldList.append(newField); |
118 CleanupStack::Pop(newField); |
118 CleanupStack::Pop(newField); |
119 |
119 |
120 // Transform Service Provider Text |
120 // Transform Service Provider Text |
121 TPtrC ServiceProviderText(reinterpret_cast<const TUint16*>(onlineAccount.serviceProvider().utf16())); |
121 TPtrC ServiceProviderText(reinterpret_cast<const TUint16*>(onlineAccount.serviceProvider().utf16())); |
122 if(ServiceProviderText.Length()) { |
122 if(ServiceProviderText.Length()) { |
123 CContactItemField* serviceProviderField = CContactItemField::NewLC(KStorageTypeText); |
123 CContactItemField* serviceProviderField = CContactItemField::NewLC(KStorageTypeText); |
124 serviceProviderField->TextStorage()->SetTextL(ServiceProviderText); |
124 serviceProviderField->TextStorage()->SetTextL(ServiceProviderText); |
125 serviceProviderField->AddFieldTypeL(KUidContactFieldServiceProvider); |
125 serviceProviderField->AddFieldTypeL(KUidContactFieldServiceProvider); |
126 serviceProviderField->SetUserFlags(m_detailCounter); |
126 serviceProviderField->SetUserFlags(m_detailCounter); |
127 fieldList.append(serviceProviderField); |
127 fieldList.append(serviceProviderField); |
128 CleanupStack::Pop(serviceProviderField); |
128 CleanupStack::Pop(serviceProviderField); |
129 } |
129 } |
130 |
|
131 //FIXME:no presence in onlineaccount anymore.. |
|
132 // // Transform presence informaiton |
|
133 // TPtrC presenceText(reinterpret_cast<const TUint16*>(onlineAccount.presence().utf16())); |
|
134 // if(presenceText.Length()) { |
|
135 // QString presence = QString::number(encodePresence(onlineAccount.presence())); |
|
136 // CContactItemField* presenceField = CContactItemField::NewLC(KStorageTypeText); |
|
137 // TPtrC presenceEncodedText(reinterpret_cast<const TUint16*>(presence.utf16())); |
|
138 // presenceField->TextStorage()->SetTextL(presenceEncodedText); |
|
139 // presenceField->AddFieldTypeL(KUidContactFieldPresence); |
|
140 // fieldList.append(presenceField); |
|
141 // CleanupStack::Pop(presenceField); |
|
142 // } |
|
143 |
|
144 // // Transform statusMessage |
|
145 // TPtrC statusMsgText(reinterpret_cast<const TUint16*>(onlineAccount.statusMessage().utf16())); |
|
146 // if(statusMsgText.Length()) { |
|
147 // CContactItemField* statusMsgField = CContactItemField::NewLC(KStorageTypeText); |
|
148 // statusMsgField->TextStorage()->SetTextL(statusMsgText); |
|
149 // statusMsgField->AddFieldTypeL(KUidContactFieldStatusMsg); |
|
150 // fieldList.append(statusMsgField); |
|
151 // CleanupStack::Pop(statusMsgField); |
|
152 // } |
|
153 } |
130 } |
154 |
131 |
155 if(fieldList.count() > 0) { |
132 if(fieldList.count() > 0) { |
156 m_detailCounter++; |
133 m_detailCounter++; |
157 } |
134 } |
199 } |
176 } |
200 //Service Provider |
177 //Service Provider |
201 else if (field.ContentType().FieldType(i) == KUidContactFieldServiceProvider) { |
178 else if (field.ContentType().FieldType(i) == KUidContactFieldServiceProvider) { |
202 onlineAccount->setServiceProvider(onlineAccountString); |
179 onlineAccount->setServiceProvider(onlineAccountString); |
203 } |
180 } |
204 //Presence |
|
205 else if (field.ContentType().FieldType(i) == KUidContactFieldPresence) { |
|
206 QString presenceInfo = decodePresence(onlineAccountString.toInt()); |
|
207 // onlineAccount->setPresence(presenceInfo); |
|
208 } |
|
209 //Status Message |
|
210 else if (field.ContentType().FieldType(i) == KUidContactFieldStatusMsg) { |
|
211 // onlineAccount->setStatusMessage(onlineAccountString); |
|
212 } |
|
213 } |
181 } |
214 |
182 |
215 // set context |
183 // set context |
216 for (int i = 0; i < field.ContentType().FieldTypeCount(); i++) { |
184 for (int i = 0; i < field.ContentType().FieldTypeCount(); i++) { |
217 setContexts(field.ContentType().FieldType(i), *onlineAccount); |
185 setContexts(field.ContentType().FieldType(i), *onlineAccount); |
223 bool CntTransformOnlineAccount::supportsField(TUint32 fieldType) const |
191 bool CntTransformOnlineAccount::supportsField(TUint32 fieldType) const |
224 { |
192 { |
225 bool ret = false; |
193 bool ret = false; |
226 if (fieldType == KUidContactFieldSIPID.iUid || |
194 if (fieldType == KUidContactFieldSIPID.iUid || |
227 fieldType == KUidContactFieldIMPP.iUid || |
195 fieldType == KUidContactFieldIMPP.iUid || |
228 fieldType == KUidContactFieldServiceProvider.iUid || |
196 fieldType == KUidContactFieldServiceProvider.iUid ) |
229 fieldType == KUidContactFieldPresence.iUid || |
|
230 fieldType == KUidContactFieldStatusMsg.iUid ) |
|
231 { |
197 { |
232 ret = true; |
198 ret = true; |
233 } |
199 } |
234 return ret; |
200 return ret; |
235 } |
201 } |
326 void CntTransformOnlineAccount::reset() |
292 void CntTransformOnlineAccount::reset() |
327 { |
293 { |
328 m_detailCounter = 0; |
294 m_detailCounter = 0; |
329 } |
295 } |
330 |
296 |
331 /*! |
|
332 * Encode the presence information. |
|
333 * \a aPresence |
|
334 */ |
|
335 quint32 CntTransformOnlineAccount::encodePresence(QString aPresence) |
|
336 { |
|
337 //FIXME:presence |
|
338 // if (QContactPresence::PresenceAvailable == aPresence) |
|
339 // return CntTransformOnlineAccount::EPresenceAvailable; |
|
340 // else if (QContactPresence::PresenceHidden == aPresence) |
|
341 // return CntTransformOnlineAccount::EPresenceHidden; |
|
342 // else if (QContactPresence::PresenceBusy == aPresence) |
|
343 // return CntTransformOnlineAccount::EPresenceBusy; |
|
344 // else if (QContactPresence::PresenceAway == aPresence) |
|
345 // return CntTransformOnlineAccount::EPresenceAway; |
|
346 // else if (QContactPresence::PresenceExtendedAway == aPresence) |
|
347 // return CntTransformOnlineAccount::EPresenceExtendedAway; |
|
348 // else if (QContactPresence::PresenceUnknown == aPresence) |
|
349 // return CntTransformOnlineAccount::EPresenceUnknown; |
|
350 // else |
|
351 return CntTransformOnlineAccount::EPresenceOffline; |
|
352 } |
|
353 |
|
354 |
|
355 |
|
356 /*! |
|
357 * Decode the presence information. |
|
358 * \a aPresence |
|
359 */ |
|
360 QString CntTransformOnlineAccount::decodePresence(quint32 aPresence) |
|
361 { |
|
362 //FIXME:presence |
|
363 // if (CntTransformOnlineAccount::EPresenceAvailable == aPresence) |
|
364 // return QContactPresence::PresenceAvailable; |
|
365 // else if (CntTransformOnlineAccount::EPresenceHidden == aPresence) |
|
366 // return QContactPresence::PresenceHidden; |
|
367 // else if (CntTransformOnlineAccount::EPresenceBusy == aPresence) |
|
368 // return QContactPresence::PresenceBusy; |
|
369 // else if ( CntTransformOnlineAccount::EPresenceAway == aPresence) |
|
370 // return QContactPresence::PresenceAway; |
|
371 // else if ( CntTransformOnlineAccount::EPresenceExtendedAway == aPresence) |
|
372 // return QContactPresence::PresenceExtendedAway; |
|
373 // else if ( CntTransformOnlineAccount::EPresenceUnknown == aPresence) |
|
374 // return QContactPresence::PresenceUnknown; |
|
375 // else |
|
376 // return QContactPresence::PresenceOffline; |
|
377 return QString(); |
|
378 } |
|
379 |
|
380 #endif // SYMBIAN_BACKEND_USE_SQLITE |
297 #endif // SYMBIAN_BACKEND_USE_SQLITE |
381 |
298 |
382 // End of file |
299 // End of file |