--- a/creator/engine/src/creator_phonebookwrapper.cpp Tue Aug 31 15:15:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,654 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-#include "engine.h"
-#include "enginewrapper.h"
-#include "creator_contactsetcache.h"
-
-#include "creator_phonebookwrapper.h"
-#include "creator_traces.h"
-
-#include <bautils.h>
-
-_LIT(KTempPath, "C:\\Data\\Creator\\");
-
-typedef struct {
-TInt iFieldCode;
-QString iDetail;
-QString iFieldContext;
-QString iFieldString;
-} QDetailFieldInfo;
-//static const TInt RND_TYPE_UNDEF = -99;
-QDetailFieldInfo CreatorPbkTextFields[] = {
- { (TInt)CCreatorPhonebookWrapper::EFirstName,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldFirstName).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::ELastName,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldLastName).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::ECompanyName,(QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactOrganization::FieldName).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EJobTitle,(QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactOrganization::FieldTitle).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EPrefix,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldPrefix).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::ESuffix,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldSuffix).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EMiddleName,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldMiddleName).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrStreetHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldStreet).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrLocalHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldLocality).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrRegionHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldRegion).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrPostCodeHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldPostcode).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrCountryHome,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactAddress::FieldCountry).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrStreetGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldStreet).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrLocalGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldLocality).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrRegionGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldRegion).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrPostCodeGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldPostcode).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrCountryGen,(QContactAddress::DefinitionName).operator QString(), "", (QContactAddress::FieldCountry).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrStreetWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldStreet).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrLocalWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldLocality).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrRegionWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldRegion).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrPostCodeWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldPostcode).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAddrCountryWork,(QContactAddress::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactAddress::FieldCountry).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EMobilePhoneWork,(QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactPhoneNumber::SubTypeMobile).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::ELandPhoneWork,(QContactPhoneNumber::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactPhoneNumber::SubTypeLandline).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::ENote,(QContactNote::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactNote::FieldNote).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EDepartment,(QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactOrganization::FieldDepartment).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EAsstName,(QContactOrganization::DefinitionName).operator QString(), (QContactDetail::ContextWork).operator QString(), (QContactOrganization::FieldAssistantName).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::ESpouse,(QContactFamily::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactFamily::FieldSpouse).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EChildren,(QContactFamily::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactFamily::FieldChildren).operator QString()},
- { (TInt)CCreatorPhonebookWrapper::EGenLabel,(QContactName::DefinitionName).operator QString(), (QContactDetail::ContextHome).operator QString(), (QContactName::FieldCustomLabel).operator QString()}
- };
-
-
-typedef struct{
-TInt iFieldCode;
-QString iFieldContext;
-QString iFieldString;
-}PhoneNumInfo;
-PhoneNumInfo CreatorPhoneNumberFields[] =
- {
- { CCreatorPhonebookWrapper::ELandPhoneGen,"", "Landline"},
- { CCreatorPhonebookWrapper::ELandPhoneHome,"Home", "Landline"},
- { CCreatorPhonebookWrapper::ELandPhoneWork,"Work", "Landline"},
- { CCreatorPhonebookWrapper::EMobilePhoneGen,"","Mobile"},
- { CCreatorPhonebookWrapper::EMobilePhoneHome,"Home","Mobile"},
- { CCreatorPhonebookWrapper::EMobilePhoneWork,"Work", "Mobile"},
- { CCreatorPhonebookWrapper::EFaxNumberGen, "", "Facsimile"},
- { CCreatorPhonebookWrapper::EFaxNumberHome, "Home", "Facsimile"},
- { CCreatorPhonebookWrapper::EFaxNumberWork, "Work", "Facsimile"},
- { CCreatorPhonebookWrapper::EPagerNumber, "Work", "Pager"},
- { CCreatorPhonebookWrapper::EVideoNumberGen, "", "Video"},
- { CCreatorPhonebookWrapper::EVideoNumberHome, "Home", "Video"},
- { CCreatorPhonebookWrapper::EVideoNumberWork, "Work", "Video"}, //{ "Home", "Voice" },//{ "Work", "Voice" },
- { CCreatorPhonebookWrapper::EAsstPhone, "Work", "Assistant" },
- { CCreatorPhonebookWrapper::ECarPhone, "Home", "Car" }
- };
-
-
-typedef struct{
- TInt iFieldCode;
- QString iFieldContext;
-}EmailInfo;
-EmailInfo CreatorEmailFields[] =
- {
- {CCreatorPhonebookWrapper::EEmailGen,""},
- {CCreatorPhonebookWrapper::EEmailHome,(QContactDetail::ContextHome).operator QString()},
- {CCreatorPhonebookWrapper::EEmailWork,(QContactDetail::ContextWork).operator QString()}
- };
-
-typedef struct{
- TInt iFieldCode;
- QString iFieldContext;
-}UrlInfo;
-UrlInfo CreatorUrlFields[] =
- {
- {CCreatorPhonebookWrapper::EUrlGen,""},
- {CCreatorPhonebookWrapper::EUrlHome,(QContactDetail::ContextHome).operator QString()},
- {CCreatorPhonebookWrapper::EUrlWork,(QContactDetail::ContextWork).operator QString()}
- };
-
-CCreatorPhonebookWrapper* CCreatorPhonebookWrapper::NewL()
- {
- CCreatorPhonebookWrapper* self = CCreatorPhonebookWrapper::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-CCreatorPhonebookWrapper* CCreatorPhonebookWrapper::NewLC()
- {
- CCreatorPhonebookWrapper* self = new (ELeave) CCreatorPhonebookWrapper();
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-
-CCreatorPhonebookWrapper::CCreatorPhonebookWrapper()
- {
- }
-
-void CCreatorPhonebookWrapper::ConstructL()
- {
- LOGSTRING("Creator: CCreatorPhonebookWrapper::ConstructL");
-
- QT_TRYCATCH_LEAVING( iPhonebookAPI = new CCreatorPhonebookAPI() );
-
- }
-
-
-CCreatorPhonebookWrapper::~CCreatorPhonebookWrapper()
- {
- LOGSTRING("Creator: CCreatorPhonebookWrapper::~CCreatorPhonebookWrapper");
- if( iPhonebookAPI )
- {
- delete iPhonebookAPI;
- iPhonebookAPI = NULL;
- }
- }
-
-//----------------------------------------------------------------------------
-
-QList<QContactDetail> CCreatorPhonebookWrapper::CreateContactDetailsFromParameters( const TCreatorContactFields& aFields )
- {
- QList<QContactDetail> contDetList;
- QString content;
- HBufC* temp;
- TInt arraySize = sizeof(CreatorPbkTextFields)/sizeof(QDetailFieldInfo);
- for (TInt i = 0; i < arraySize; i++)
- {
- TCreatorContactFields::const_iterator it = aFields.find(CreatorPbkTextFields[i].iFieldCode);
- if( it != aFields.end() )
- {
- temp = (*it).second;
- content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
- QContactDetail contactDetail = CreateContactDetail(contDetList, CreatorPbkTextFields[i].iDetail,CreatorPbkTextFields[i].iFieldContext,CreatorPbkTextFields[i].iFieldString, content );
- AddFieldToList( contDetList, contactDetail );
- }
-
- }
- arraySize = sizeof(CreatorPhoneNumberFields)/sizeof(PhoneNumInfo);
- for (TInt i = 0; i < arraySize; i++)
- {
- TCreatorContactFields::const_iterator it = aFields.find(CreatorPhoneNumberFields[i].iFieldCode);
- if( it != aFields.end() )
- {
- temp = (*it).second;
- content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
- QContactDetail contactDetail = CreateContactDetail(contDetList, QContactPhoneNumber::DefinitionName ,CreatorPhoneNumberFields[i].iFieldContext,CreatorPhoneNumberFields[i].iFieldString, content );
- AddFieldToList( contDetList, contactDetail );
- }
- }
-
- arraySize = sizeof(CreatorEmailFields)/sizeof(EmailInfo);
- for (TInt i = 0; i < arraySize; i++)
- {
- TCreatorContactFields::const_iterator it = aFields.find(CreatorEmailFields[i].iFieldCode);
- if( it != aFields.end() )
- {
- temp = (*it).second;
- content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
- QContactDetail contactDetail = CreateContactDetail(contDetList, QContactEmailAddress::DefinitionName ,CreatorEmailFields[i].iFieldContext,"", content );
- AddFieldToList( contDetList, contactDetail );
- }
- }
-
- arraySize = sizeof(CreatorUrlFields)/sizeof(UrlInfo);
- for (TInt i = 0; i < arraySize; i++)
- {
- TCreatorContactFields::const_iterator it = aFields.find(CreatorUrlFields[i].iFieldCode);
- if( it != aFields.end() )
- {
- temp = (*it).second;
- content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
- QContactDetail contactDetail = CreateContactDetail(contDetList, QContactUrl::DefinitionName ,CreatorUrlFields[i].iFieldContext,"", content );
- AddFieldToList( contDetList, contactDetail );
- }
- }
- arraySize = sizeof(CreatorUrlFields)/sizeof(UrlInfo);
- for (TInt i = 0; i < arraySize; i++)
- {
- TCreatorContactFields::const_iterator it = aFields.find(CreatorUrlFields[i].iFieldCode);
- if( it != aFields.end() )
- {
- temp = (*it).second;
- content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
- QContactDetail contactDetail = CreateContactDetail(contDetList, QContactUrl::DefinitionName ,CreatorUrlFields[i].iFieldContext,"", content );
- AddFieldToList( contDetList, contactDetail );
- }
- }
-
- TCreatorContactFields::const_iterator it = aFields.find(CCreatorPhonebookWrapper::EThumbnailPic);
- if( it != aFields.end() )
- {
- temp = (*it).second;
- if(temp)
- {
- content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
- QContactDetail contactDetail = CreateContactDetail(contDetList, QContactAvatar::DefinitionName ,"","", content );
- AddFieldToList( contDetList, contactDetail );
- }
- }
- it = aFields.find(CCreatorPhonebookWrapper::EAnniversary);
- if( it != aFields.end() )
- {
- temp = (*it).second;
- if(temp)
- {
- content = QString::fromUtf16( temp->Des().Ptr(), temp->Length() );
- QContactDetail contactDetail = CreateContactDetail(contDetList, QContactAnniversary::DefinitionName ,"","", content );
- AddFieldToList( contDetList, contactDetail );
- }
- }
-
- return contDetList;
- }
-QContactDetail CCreatorPhonebookWrapper::CreateContactDetail( QList<QContactDetail>& aContactDetailList,QString aDetail, QString aFieldContext, QString aFieldString, QString aData )
- {
- QContactDetail contactDetail;
-
- if( aDetail == QContactPhoneNumber::DefinitionName)
- {
- QContactPhoneNumber phoneNumber;// = contactDetail;
- if(!aFieldContext.isEmpty())
- {
- phoneNumber.setContexts(aFieldContext);
- }
- phoneNumber.setSubTypes(aFieldString);
- //QString number = QString::fromUtf16(aData.Ptr(),aData.Length());
- phoneNumber.setNumber(aData);
- return phoneNumber;
- }
- else if( aDetail == QContactName::DefinitionName ) //--Contact NAME-----------------------------
- {
- QContactName contactName;
- for(int i = 0 ; i < aContactDetailList.count() ; i++ ) //go through all contact details to check if there is already Contact Name to set other details
- {
- if(aContactDetailList.at(i).definitionName() == QContactName::DefinitionName )
- {
- contactName = aContactDetailList.at(i);
- }
- }
- //QString name = QString::fromUtf16(aData.Ptr(),aData.Length());
- if(aFieldString == QContactName::FieldFirstName)
- {
- if(contactName.firstName().isEmpty())
- {
- contactName.setFirstName( aData );
- }
- }
- else if(aFieldString == QContactName::FieldLastName)
- {
- if(contactName.lastName().isEmpty())
- {
- contactName.setLastName( aData );
- }
- }
- else if(aFieldString == QContactName::FieldMiddleName)
- {
- if(contactName.middleName().isEmpty())
- {
- contactName.setMiddleName( aData );
- }
- }
- else if(aFieldString == QContactName::FieldPrefix)
- {
- if(contactName.prefix().isEmpty())
- {
- contactName.setPrefix( aData );
- }
- }
- else if(aFieldString == QContactName::FieldSuffix)
- {
- if(contactName.suffix().isEmpty())
- {
- contactName.setSuffix( aData );
- }
- }
- else //QContactName::FieldCustomLabel:
- {
- if(contactName.customLabel().isEmpty())
- {
- contactName.setCustomLabel( aData );
- }
- }
- return contactName;
- }
- else if( aDetail == QContactOrganization::DefinitionName ) //--Contact Company-----------------------------
- {
- QContactOrganization contactCompany;
-
- for(int i = 0 ; i < aContactDetailList.count() ; i++ ) //go through all contact details to check if there is already Contact Name to set other details
- {
- if(aContactDetailList.at(i).definitionName() == QContactOrganization::DefinitionName )
- {
- contactCompany = aContactDetailList.at(i);
- }
- }
-
- //QString company = QString::fromUtf16(aData.Ptr(),aData.Length());
- if(aFieldString == QContactOrganization::FieldName)
- {
- if(contactCompany.name().isEmpty())
- {
- contactCompany.setName( aData );
- }
- }
- if(aFieldString == QContactOrganization::FieldTitle)
- {
- if(contactCompany.title().isEmpty())
- {
- contactCompany.setTitle( aData );
- }
- }
- if(aFieldString == QContactOrganization::FieldDepartment)
- {
- QStringList depList = contactCompany.department();
- depList.append(aData);
- contactCompany.setDepartment(depList);
- }
- if(aFieldString == QContactOrganization::FieldAssistantName)
- {
- if(contactCompany.assistantName().isEmpty())
- {
- contactCompany.setAssistantName( aData );
- }
- }
- return contactCompany;
- }
- else if( aDetail == QContactAddress::DefinitionName ) //--Contact Address-----------------------------
- {
- QContactAddress contactAddress;
-
- for(int i = 0 ; i < aContactDetailList.count() ; i++ ) //go through all contact details to check if there is already Contact Name to set other details
- {
- if(aContactDetailList.at(i).definitionName() == QContactAddress::DefinitionName && aContactDetailList.at(i).value(QContactDetail::FieldContext) == aFieldContext )
- {
- contactAddress = aContactDetailList.at(i);
- }
- }
- if( !aFieldContext.isEmpty() )
- {
- contactAddress.setContexts( aFieldContext );
- }
- //QString address = QString::fromUtf16(aData.Ptr(),aData.Length());
- if(aFieldString == QContactAddress::FieldStreet )
- {
- if( contactAddress.street().isEmpty() )
- {
- contactAddress.setStreet( aData );
- }
- }
- else if(aFieldString == QContactAddress::FieldLocality )
- {
- if( contactAddress.locality().isEmpty() )
- {
- contactAddress.setLocality( aData );
- }
- }
- else if(aFieldString == QContactAddress::FieldRegion )
- {
- if( contactAddress.region().isEmpty() )
- {
- contactAddress.setRegion( aData );
- }
- }
- else if(aFieldString == QContactAddress::FieldPostcode )
- {
- if( contactAddress.postcode().isEmpty() )
- {
- contactAddress.setPostcode( aData );
- }
- }
- else if(aFieldString == QContactAddress::FieldCountry )
- {
- if( contactAddress.country().isEmpty() )
- {
- contactAddress.setCountry( aData );
- }
- }
- else
- {
- return contactDetail;
- }
- return contactAddress;
- }
- else if( aDetail == QContactNote::DefinitionName ) //--Contact Note-----------------------------
- {
- QContactNote contactNote;
- //QString note = QString::fromUtf16(aData.Ptr(),aData.Length());
- contactNote.setNote(aData);
- return contactNote;
- }
- else if( aDetail == QContactFamily::DefinitionName ) //--Contact Family-----------------------------
- {
- QContactFamily contactFamily;
-
- for(int i = 0 ; i < aContactDetailList.count() ; i++ ) //go through all contact details to check if there is already Contact Name to set other details
- {
- if(aContactDetailList.at(i).definitionName() == QContactFamily::DefinitionName && aContactDetailList.at(i).value(QContactDetail::FieldContext) == aFieldContext )
- {
- contactFamily = aContactDetailList.at(i);
- }
- }
-
- //QString familyData = QString::fromUtf16(aData.Ptr(),aData.Length());
- if(aFieldString == QContactFamily::FieldSpouse )
- {
- if( contactFamily.spouse().isEmpty() )
- {
- contactFamily.setSpouse( aData );
- }
- }
- if(aFieldString == QContactFamily::FieldChildren )
- {
- QStringList children = contactFamily.children();
- children.append( aData );
- contactFamily.setChildren( children );
- }
-
- return contactFamily;
- }
-
- if( aDetail == QContactAvatar::DefinitionName) //--Contact Picture-----------------------------
- {
- QContactAvatar contactAvatar;
- /*TBuf<KMaxFileName> srcPath;
- aEngine->RandomPictureFileL(srcPath);
- TBuf<KMaxFileName> destPath(KTempPath);
-
- if(!BaflUtils::FolderExists( fs, destPath ))
- {
- BaflUtils::EnsurePathExistsL( fs, destPath );
- }
-
- TInt err=BaflUtils::CopyFile( fs, srcPath, destPath );
-
- TParse temp;
- temp.Set( srcPath,NULL,NULL );
- destPath.Append(temp.NameAndExt());
-
- QString avatarFile = QString::fromUtf16( destPath.Ptr(),destPath.Length() );
- */
- QUrl imageUrl;
- imageUrl.setUrl(aData);
- contactAvatar.setImageUrl(imageUrl);
-
- return contactAvatar;
- }
- if( aDetail == QContactAnniversary::DefinitionName) //--Anniversary------------------------------
- {
- QContactAnniversary contactAnniversary;
- aData.replace(QChar('/'), QChar('-'));
- QDate date = QDate::fromString(aData, "dd-MM-yyyy");
- //TTime datetime = aEngine->RandomDate( CCreatorEngine::EDateFuture );
- //date.setDate( datetime.DateTime().Year(),(int) (datetime.DateTime().Month()+1), datetime.DateTime().Day() );
- contactAnniversary.setOriginalDate( date );
- return contactAnniversary;
- }
- if( aDetail == QContactEmailAddress::DefinitionName) //--Email------------------------------------
- {
- QContactEmailAddress email;
- //QString emailAddr = QString::fromUtf16(aData.Ptr(),aData.Length());
- if( !aFieldContext.isEmpty() )
- {
- email.setContexts( aFieldContext );
- }
- email.setEmailAddress( aData );
- return email;
- }
- if( aDetail == QContactUrl::DefinitionName ) //--Url-------------------------------------------
- {
- QContactUrl url;
- //QString urlStr = QString::fromUtf16(aData.Ptr(),aData.Length());
- if( !aFieldContext.isEmpty() )
- {
- url.setContexts( aFieldContext );
- }
- url.setUrl(aData);
- return url;
- }
- if( aDetail == QContactBirthday::DefinitionName ) //--Birthday-----------------------------------
- {
- QContactBirthday birthday;
- QDate date = QDate::fromString(aData);
- //TTime datetime = aEngine->RandomDate( CCreatorEngine::EDatePast );
- //date.setDate( datetime.DateTime().Year(),(int) (datetime.DateTime().Month()+1), datetime.DateTime().Day() );
- birthday.setDate( date );
- return birthday;
- }
-
- return contactDetail;
- }
-
-void CCreatorPhonebookWrapper::AddFieldToList( QList<QContactDetail>& aDetailList, QContactDetail aDetail)
- {
- bool replace = false;
- for(int i = 0 ; i< aDetailList.count() ; i++) //go through
- {
- if( !aDetail.isEmpty() && aDetail.definitionName() == aDetailList.at(i).definitionName()
- && aDetail.definitionName() != QContactPhoneNumber::DefinitionName
- && aDetail.definitionName() != QContactEmailAddress::DefinitionName
- && aDetail.definitionName() != QContactUrl::DefinitionName )
- {
- QString context = aDetail.value(QContactDetail::FieldContext);
- bool isContextEmpty = context.isEmpty();
- if( isContextEmpty || ( aDetail.value(QContactDetail::FieldContext) == aDetailList.at(i).value(QContactDetail::FieldContext)) )
- {
- //replace
- aDetailList.replace(i,aDetail);
- replace = true;
- }
- }
- }
- if(!replace)
- {
- if(!aDetail.isEmpty())
- {
- aDetailList.append(aDetail);
- }
- }
-
- }
-
-TUint32 CCreatorPhonebookWrapper::CreateContactEntryL(const TCreatorContactFields& aFields)
- {
- QList<QContactDetail> list = CreateContactDetailsFromParameters( aFields );
-
- return iPhonebookAPI->saveContact( list );
- }
-
-
-//----------------------------------------------------------------------------
-
-
-
-//----------------------------------------------------------------------------
-
-void CCreatorPhonebookWrapper::DeleteAllL()
- {
- iPhonebookAPI->deleteAllContacts();
- }
-
-//----------------------------------------------------------------------------
-void CCreatorPhonebookWrapper::DeleteAllGroupsL()
- {
- LOGSTRING("Creator: CCreatorPhonebookWrapper::DeleteAllGroupsL");
-
- iPhonebookAPI->deleteAllContacts( QContactType::TypeGroup );
-
- }
-
-//----------------------------------------------------------------------------
-void CCreatorPhonebookWrapper::DeleteContactsL( RArray<TUint32>& aContactsToDelete, TUid aStoreUid )
- {
- QList<QContactLocalId> contacts;
- for( TInt i = 0; i < aContactsToDelete.Count(); ++i )
- {
- QContact contact = iPhonebookAPI->contact( QContactLocalId( aContactsToDelete[i] ) );
- if( (contact.type() == QContactType::TypeGroup && aStoreUid == KUidDictionaryUidContactGroups ) || (contact.type() != QContactType::TypeGroup && aStoreUid != KUidDictionaryUidContactGroups) )
- {
- contacts.append( QContactLocalId( aContactsToDelete[i] ) );
- }
- }
- QMap<int, QContactManager::Error> errorMap;
- iPhonebookAPI->deleteContacts( contacts );
- }
-
-//----------------------------------------------------------------------------
-TBool CCreatorPhonebookWrapper::HasOtherThanGroupsL()
- {
- LOGSTRING("Creator: CCreatorPhonebookWrapper::HasOtherThanGroupsL");
- TBool result( EFalse );
- return result;
- }
-
-
-TUint32 CCreatorPhonebookWrapper::CreateGroupEntryL( HBufC* aGroupName )
- {
- TUint32 id = 0;
- QString groupName = QString::fromUtf16( aGroupName->Des().Ptr(), aGroupName->Length() );
-
- id = iPhonebookAPI->createGroup( groupName );
-
- return id;
- }
-TInt CCreatorPhonebookWrapper::NumberOfContacts()
- {
- //return all stored contacts
- return iPhonebookAPI->numberOfContacts();
- }
-
-TInt CCreatorPhonebookWrapper::AddContactToGroup( TUint32 aGroupId, TUint32 aContact )
- {
- QContactLocalId group = QContactLocalId(aGroupId);
- QContactLocalId contact = QContactLocalId(aContact);
-
- TInt ret = iPhonebookAPI->addContactToGroup(group, contact);
-
- return ret;
- }
-TInt CCreatorPhonebookWrapper::AddToGroup( TUint32 aGroupId, TInt aAmount )
- {
- QContactLocalId group = QContactLocalId(aGroupId);
- TInt ret = iPhonebookAPI->addToGroup( group, (int) aAmount );
- return ret;
- }
-
-
-//----------------------------------------------------------------------------
-
-TInt CCreatorPhonebookWrapper::CreateSubscribedContactEntryL()
- {
- LOGSTRING("Creator: CCreatorPhonebookWrapper::CreateSubscribedContactEntryL");
-
- return KErrNotSupported;
- }
-