harvesterplugins/contacts/src/ccontactsplugin.cpp
changeset 17 7d8c8d8f5eab
parent 12 993ab30e92fc
child 20 68cdadcf169e
equal deleted inserted replaced
12:993ab30e92fc 17:7d8c8d8f5eab
   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.
   381             //For contacts, all fields __except__ GivenName and FamilyName should be added to excerpt.
   403             //For contacts, all fields __except__ GivenName and FamilyName should be added to excerpt.
   382             //See appclass-hierarchy.txt for details.
   404             //See appclass-hierarchy.txt for details.
   383             /* The order of fields in excerpt is as below. The order in this case
   405             /* The order of fields in excerpt is as below. The order in this case
   384              * is the order of fields shown when you 'Edit' the contact.
   406              * is the order of fields shown when you 'Edit' the contact.
   385              */
   407              */
       
   408 #ifdef USE_HIGHLIGHTER            
       
   409             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldGivenName, KContactsGivenNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
       
   410             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldFamilyName, KContactsFamilyNameField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField:: EIndexFreeText );
       
   411 #else
   386             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 );
   387             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 );        
       
   414 #endif            
   388             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldPhoneNumber, KContactsPhoneNumberField );
   415             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldPhoneNumber, KContactsPhoneNumberField );
   389             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldEMail, KContactsEMailField );
   416             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldEMail, KContactsEMailField, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText );
   390             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldSIPID, KContactsSIPIDField );
   417             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldSIPID, KContactsSIPIDField );
   391             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 );
   392             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 );
   393             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldNote, KContactsNoteField );
   420             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldNote, KContactsNoteField );
   394 
   421 
   417             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldAssistant, KContactAssistant, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
   444             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldAssistant, KContactAssistant, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
   418             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldDepartmentName, KContactsDepartmentName, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
   445             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldDepartmentName, KContactsDepartmentName, CDocumentField::EStoreYes | CDocumentField::EIndexTokenized | CDocumentField::EIndexFreeText);
   419             
   446             
   420             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldIMAddress, KContactIMAddress);
   447             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldIMAddress, KContactIMAddress);
   421             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldServiceProvider, KContactServiceProvider);
   448             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldServiceProvider, KContactServiceProvider);
   422             
   449 #ifdef USE_HIGHLIGHTER
       
   450             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldBirthday, KContactBirthday);
       
   451             AddFieldToDocumentAndExcerptL( *index_item, fieldSet, KUidContactFieldAnniversary, KContactAnniversary);
       
   452 #else
   423             AddFieldL( *index_item, fieldSet, KUidContactFieldBirthday, KContactBirthday);
   453             AddFieldL( *index_item, fieldSet, KUidContactFieldBirthday, KContactBirthday);
   424             AddFieldL( *index_item, fieldSet, KUidContactFieldAnniversary, KContactAnniversary);
   454             AddFieldL( *index_item, fieldSet, KUidContactFieldAnniversary, KContactAnniversary);      
       
   455 #endif            
   425             index_item->AddExcerptL(*iExcerpt);
   456             index_item->AddExcerptL(*iExcerpt);
   426             }
   457             }
   427         
   458         
   428     	index_item->AddFieldL(KMimeTypeField, KMimeTypeContact, CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized);
   459     	index_item->AddFieldL(KMimeTypeField, KMimeTypeContact, CDocumentField::EStoreYes | CDocumentField::EIndexUnTokenized);
   429         
   460