--- a/phoneengine/phonecntfinder2/src/cphcntmatch2.cpp Wed Jun 23 18:12:20 2010 +0300
+++ b/phoneengine/phonecntfinder2/src/cphcntmatch2.cpp Tue Jul 06 14:15:47 2010 +0300
@@ -18,6 +18,7 @@
#include <qcontactdetail.h>
#include <qcontactname.h>
#include <qcontactavatar.h>
+#include <qcontactringtone.h>
#include <qcontactphonenumber.h>
#include <qtcontactsglobal.h>
#include "cphcntmatch2.h"
@@ -31,7 +32,7 @@
// ---------------------------------------------------------------------------
//
CPhCntMatch2::CPhCntMatch2(const QContact aContact):
-iContact(aContact), iNumber(NULL), iContactId(NULL), iDummyArray(NULL)
+iContact(aContact), iNumber(NULL), iContactId(NULL), iDTMFArray(NULL)
{
}
@@ -42,7 +43,7 @@
CPhCntMatch2::~CPhCntMatch2()
{
delete iNumber;
- delete iDummyArray;
+ delete iDTMFArray;
delete iContactId;
}
@@ -85,25 +86,7 @@
//
MPhCntMatch::TNumberType CPhCntMatch2::NumberType() const
{
-
- MPhCntMatch::TNumberType valueToReturn = MPhCntMatch::EMobileNumber;
- /* -> TODO not yet supported
- switch (iContact->field(fieldNumber).property())
- {
- case propertyMobile:
- {
- valueToReturn = MPhCntMatch::EMobileNumber;
- break;
- }
- default:
- {
- valueToReturn = MPhCntMatch::ENone;
- }
-
- }//switch
- */
-
- return valueToReturn;
+ return MPhCntMatch::ENone;
}
// -----------------------------------------------------------------------------
@@ -122,7 +105,7 @@
//
TPtrC CPhCntMatch2::FirstName() const
{
- return FieldValue(QContactName::DefinitionName, QContactName::FieldFirstName);
+ return iFirstname.utf16();
}
// -----------------------------------------------------------------------------
@@ -131,7 +114,7 @@
//
TPtrC CPhCntMatch2::LastName() const
{
- return FieldValue(QContactName::DefinitionName, QContactName::FieldLastName);
+ return iLastname.utf16();
}
// -----------------------------------------------------------------------------
@@ -148,10 +131,14 @@
//
TPtrC CPhCntMatch2::Number() const
{
-//how many numbers are returned here? should be only one that matched
- return iNumber? iNumber->Des() :
- FieldValue(QContactPhoneNumber::DefinitionName,
- QContactPhoneNumber::FieldNumber);
+ //how many numbers are returned here? should be only one that matched
+ if ( iNumber == NULL ) {
+
+ TPtrC ptr(FieldValue(QContactPhoneNumber::DefinitionName,
+ QContactPhoneNumber::FieldNumber).utf16());
+ const_cast<HBufC*>(iNumber) = ptr.Alloc();
+ }
+ return iNumber->Des();
}
// -----------------------------------------------------------------------------
// PersonalRingingTone
@@ -159,20 +146,7 @@
//
TPtrC CPhCntMatch2::PersonalRingingTone() const
{
- /*
- //TODO
- QString returnValue;
- QList<QContactAvatar> details = iContact.details<QContactAvatar>();
-
- for (int i=0;i<details.count();++i) {
- if (details.at(i).subType() == QContactAvatar::SubTypeAudioRingtone) {
- returnValue = details.at(i).avatar();
- break;
- }
- }
-
- return returnValue.utf16();*/
- return KNullDesC();
+ return iPersonalRingtone.utf16();
}
// -----------------------------------------------------------------------------
// BelongsToGroups
@@ -205,17 +179,7 @@
//
TPtrC CPhCntMatch2::CallImage() const
{
- QString returnValue;
- QList<QContactAvatar> details = iContact.details<QContactAvatar>();
-
- for (int i=0;i<details.count();++i) {
- if (!details.at(i).imageUrl().isEmpty()) {
- returnValue = details.at(i).imageUrl().toEncoded();
- break;
- }
- }
-
- return returnValue.utf16();
+ return iCallImage.utf16();
}
// -----------------------------------------------------------------------------
// HasThumbnailImage
@@ -231,7 +195,7 @@
//
CDesCArray& CPhCntMatch2::AllDtmfNumbers() const
{
- return *iDummyArray;
+ return *iDTMFArray;
}
// -----------------------------------------------------------------------------
// SetNumberL
@@ -252,14 +216,41 @@
void CPhCntMatch2::ConstructL()
{
iContactId = CPhCntContactIdImpl2::NewL(iContact);
- iDummyArray = new CDesCArrayFlat(1);
+ iDTMFArray = new CDesCArrayFlat(1);
+
+ //Get first and last name
+ iFirstname = FieldValue(
+ QContactName::DefinitionName,
+ QContactName::FieldFirstName);
+
+
+ iLastname = FieldValue(
+ QContactName::DefinitionName,
+ QContactName::FieldLastName);
+
+ //Get caller's image
+ QList<QContactAvatar> details = iContact.details<QContactAvatar>();
+ for (int i=0;i<details.count();++i) {
+ if (!details.at(i).imageUrl().isEmpty()) {
+ iCallImage = details.at(i).imageUrl().toString();
+ break;
+ }
+ }
+ PHONE_DEBUG2("CPhCntMatch2::callImage:: value is :", iCallImage);
+
+
+ //Get personal ringtone
+ QContactRingtone ringtonedetail = iContact.detail<QContactRingtone>();
+ iPersonalRingtone = ringtonedetail.audioRingtoneUrl().toString();
+ PHONE_DEBUG2("CPhCntMatch2::personalRingingtone:: value is :", iPersonalRingtone);
+
}
// -----------------------------------------------------------------------------
// FieldValue
// -----------------------------------------------------------------------------
//
-TPtrC CPhCntMatch2::FieldValue(const QString& name, const QString& key) const
+QString CPhCntMatch2::FieldValue(const QString& name, const QString& key) const
{
QString returnValue;
QList<QContactDetail> details = iContact.details(name);
@@ -268,7 +259,7 @@
returnValue = details.first().value(key);
}
PHONE_DEBUG4("CPhCntMatch2::FieldValue:: key is :", key, "..value is :", returnValue);
- return returnValue.utf16();
+ return returnValue;
}