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 |