harvesterplugins/contacts/src/ccontactsplugin.cpp
changeset 16 e918432ddd92
parent 15 df6898e696c6
child 18 1edf350003c5
equal deleted inserted replaced
15:df6898e696c6 16:e918432ddd92
   308 	// Find field
   308 	// Find field
   309 	TInt findpos = aFieldSet.Find( aFieldId );
   309 	TInt findpos = aFieldSet.Find( aFieldId );
   310 	if (! (findpos < 0) || (findpos >= aFieldSet.Count() ) )
   310 	if (! (findpos < 0) || (findpos >= aFieldSet.Count() ) )
   311 		{
   311 		{
   312 		CContactItemField& additionalField = aFieldSet[ findpos ];
   312 		CContactItemField& additionalField = aFieldSet[ findpos ];
   313 		CContactTextField* fieldText = additionalField.TextStorage();
   313 		TInt newfieldsize = 0;
   314 		if ( fieldText && fieldText->Text() != KNullDesC )
   314 		if( additionalField.StorageType() == KStorageTypeDateTime)
   315 			{
   315 		            {
   316 			TInt currentSize = iExcerpt->Size();
   316 		            CContactDateField* fieldDate = additionalField.DateTimeStorage();
   317 			TInt newSize = currentSize + fieldText->Text().Size() + 1;
   317 		            if (fieldDate)
   318 			iExcerpt = iExcerpt->ReAllocL(newSize);
   318 		                {
   319 			TPtr ptr = iExcerpt->Des();
   319 		                TBuf<30> dateString;
   320 			ptr.Append(fieldText->Text());
   320 		                fieldDate->Time().FormatL(dateString, KTimeFormat);
   321 			ptr.Append(KExcerptDelimiter);
   321                         TInt currentSize = iExcerpt->Size();
   322 			}
   322                         TInt newSize = currentSize + dateString.Size()+ 1;
       
   323                         iExcerpt = iExcerpt->ReAllocL(newSize);
       
   324                         TPtr ptr = iExcerpt->Des();
       
   325                         ptr.Append(dateString);
       
   326                         ptr.Append(KExcerptDelimiter);
       
   327 		                }
       
   328 		            
       
   329 		            }
       
   330 		        else
       
   331 		            {
       
   332 		            CContactTextField* fieldText = additionalField.TextStorage();
       
   333 		            if (fieldText && fieldText->Text() != KNullDesC )
       
   334 		                {
       
   335                           TInt currentSize = iExcerpt->Size();
       
   336                           TInt newSize = currentSize + fieldText->Text().Size() + 1;
       
   337                           iExcerpt = iExcerpt->ReAllocL(newSize);
       
   338                           TPtr ptr = iExcerpt->Des();
       
   339                           ptr.Append(fieldText->Text());
       
   340                           ptr.Append(KExcerptDelimiter);
       
   341 		                }
       
   342 		            }
       
   343 		
       
   344 		
   323 		}
   345 		}
   324 	}
   346 	}
   325 
   347 
   326 // ---------------------------------------------------------------------------
   348 // ---------------------------------------------------------------------------
   327 // Helper: Adds the field to the document AND to the exceprt field.
   349 // Helper: Adds the field to the document AND to the exceprt field.
   389 #else
   411 #else
   390             AddFieldL( *index_item, fieldSet, KUidContactFieldGivenName, KContactsGivenNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
   412             AddFieldL( *index_item, fieldSet, KUidContactFieldGivenName, KContactsGivenNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
   391             AddFieldL( *index_item, fieldSet, KUidContactFieldFamilyName, KContactsFamilyNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField:: EIndexFreeText );        
   413             AddFieldL( *index_item, fieldSet, KUidContactFieldFamilyName, KContactsFamilyNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField:: EIndexFreeText );        
   392 #endif            
   414 #endif            
   393             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldPhoneNumber, KContactsPhoneNumberField );
   415             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldPhoneNumber, KContactsPhoneNumberField );
   394             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldEMail, KContactsEMailField );
   416             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldEMail, KContactsEMailField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
   395             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldSIPID, KContactsSIPIDField );
   417             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldSIPID, KContactsSIPIDField );
   396             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldCompanyName, KContactsCompanyNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
   418             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldCompanyName, KContactsCompanyNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
   397             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldJobTitle, KContactsJobTitleField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
   419             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldJobTitle, KContactsJobTitleField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
   398             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldNote, KContactsNoteField );
   420             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldNote, KContactsNoteField );
   399 
   421