321 GetMruDatastoreUriFromMailbox( *iMailBox, *store2 ); |
322 GetMruDatastoreUriFromMailbox( *iMailBox, *store2 ); |
322 databases.AppendL( store2 ); |
323 databases.AppendL( store2 ); |
323 } |
324 } |
324 searchSettings->SetSearchUrisL(databases); |
325 searchSettings->SetSearchUrisL(databases); |
325 |
326 |
326 // Set displayfields (first name, last name, email addresses) |
327 // Set displayfields according to sort order |
327 RArray<TInt> displayFields(6); |
328 RArray<TInt> sortOrder; |
328 CleanupClosePushL(displayFields); |
329 CleanupClosePushL( sortOrder ); |
329 displayFields.AppendL(R_VPBK_FIELD_TYPE_FIRSTNAME); |
330 iRequestHandler->GetSortOrderL( *store1, sortOrder ); |
330 displayFields.AppendL(R_VPBK_FIELD_TYPE_LASTNAME); |
331 if ( sortOrder.Count() ) |
331 displayFields.AppendL(R_VPBK_FIELD_TYPE_EMAILGEN); |
332 { |
332 displayFields.AppendL(R_VPBK_FIELD_TYPE_EMAILHOME); |
333 iUseLastNameFirstOrder = ( sortOrder[0] == R_VPBK_FIELD_TYPE_LASTNAME ); |
333 displayFields.AppendL(R_VPBK_FIELD_TYPE_EMAILWORK); |
334 } |
334 searchSettings->SetDisplayFieldsL(displayFields); |
335 else |
335 CleanupStack::Pop(&displayFields); |
336 { |
|
337 iUseLastNameFirstOrder = EFalse; // default is not to change order |
|
338 } |
|
339 RArray<TInt> displayFields( 6 ); |
|
340 CleanupClosePushL( displayFields ); |
|
341 displayFields.AppendL( sortOrder[0] ); |
|
342 if ( sortOrder.Count() >= 1 ) displayFields.AppendL( sortOrder[1] ); |
|
343 displayFields.AppendL( R_VPBK_FIELD_TYPE_EMAILGEN ); |
|
344 displayFields.AppendL( R_VPBK_FIELD_TYPE_EMAILHOME ); |
|
345 displayFields.AppendL( R_VPBK_FIELD_TYPE_EMAILWORK ); |
|
346 searchSettings->SetDisplayFieldsL( displayFields ); |
|
347 CleanupStack::Pop( &displayFields ); |
|
348 CleanupStack::Pop( &sortOrder ); |
336 displayFields.Close(); |
349 displayFields.Close(); |
337 |
|
338 // Set the new sort order of data fields |
|
339 RArray<TInt> sortOrder; |
|
340 CleanupClosePushL(sortOrder); |
|
341 |
|
342 // change sorting order for Chinese to LNFN |
|
343 if ( User::Language() == ELangPrcChinese ) |
|
344 { |
|
345 sortOrder.AppendL( R_VPBK_FIELD_TYPE_LASTNAME ); |
|
346 sortOrder.AppendL( R_VPBK_FIELD_TYPE_FIRSTNAME ); |
|
347 } |
|
348 else // default sorting order FN LN |
|
349 { |
|
350 sortOrder.AppendL( R_VPBK_FIELD_TYPE_FIRSTNAME ); |
|
351 sortOrder.AppendL( R_VPBK_FIELD_TYPE_LASTNAME ); |
|
352 } |
|
353 |
|
354 sortOrder.AppendL(R_VPBK_FIELD_TYPE_EMAILGEN); |
|
355 sortOrder.AppendL(R_VPBK_FIELD_TYPE_EMAILHOME); |
|
356 sortOrder.AppendL(R_VPBK_FIELD_TYPE_EMAILWORK); |
|
357 iRequestHandler->ChangeSortOrderL(*store1, sortOrder); |
|
358 if ( store2 ) |
|
359 { |
|
360 iRequestHandler->ChangeSortOrderL(*store2, sortOrder); |
|
361 } |
|
362 |
|
363 CleanupStack::Pop(&sortOrder); |
|
364 sortOrder.Close(); |
350 sortOrder.Close(); |
365 |
351 |
366 // Set maximum for search results |
352 // Set maximum for search results |
367 //How many results is shown on the screen?? |
353 //How many results is shown on the screen?? |
368 //searchSettings->SetMaxResults(const TInt aMaxResults); |
354 //searchSettings->SetMaxResults(const TInt aMaxResults); |