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 |