255 if( iSearchField ) |
255 if( iSearchField ) |
256 { |
256 { |
257 TBuf<KAknStringBufferSize> criteria; |
257 TBuf<KAknStringBufferSize> criteria; |
258 if ( iSearchField->Editor().SelectionLength() > 0 ) |
258 if ( iSearchField->Editor().SelectionLength() > 0 ) |
259 { |
259 { |
260 iAdaptiveSearchGrid->SetSearchTextToFindPane( criteria ); |
|
261 iSearchField->SetSearchTextL( criteria ); |
260 iSearchField->SetSearchTextL( criteria ); |
262 iSearchField->HandleControlEventL( iSearchField, EEventStateChanged ); |
261 iSearchField->HandleControlEventL( iSearchField, EEventStateChanged ); |
263 } |
262 } |
264 else |
263 else |
265 { |
264 { |
286 } |
285 } |
287 else |
286 else |
288 { |
287 { |
289 criteria = criteria.Mid( 0, (length-1) ); |
288 criteria = criteria.Mid( 0, (length-1) ); |
290 } |
289 } |
291 // Update the AS search field first to be ready for redraw |
|
292 iAdaptiveSearchGrid->SetSearchTextToFindPane( criteria ); |
|
293 iSearchField->SetSearchTextL( criteria ); |
290 iSearchField->SetSearchTextL( criteria ); |
294 iSearchField->HandleControlEventL( iSearchField, EEventStateChanged ); |
291 iSearchField->HandleControlEventL( iSearchField, EEventStateChanged ); |
295 iSearchField->SetFocus( EFalse ); |
|
296 iSearchField->MakeVisible ( EFalse ); |
|
297 iAdaptiveSearchGrid->SetSearchTextToFindPane( criteria ); |
|
298 iSearchField->DrawNow(); |
292 iSearchField->DrawNow(); |
299 if( iAdaptiveSearchTextObserver ) |
293 if( iAdaptiveSearchTextObserver ) |
300 { |
294 { |
301 iSearchField->SetLanguageChangedFlag( EFalse ); |
295 iSearchField->SetLanguageChangedFlag( EFalse ); |
302 iAdaptiveSearchTextObserver->AdaptiveSearchTextChanged( iSearchField ); |
296 iAdaptiveSearchTextObserver->AdaptiveSearchTextChanged( iSearchField ); |
354 TInt length = criteria.Length(); |
348 TInt length = criteria.Length(); |
355 // If Devanagri Append the placeholder for dependent vowels |
349 // If Devanagri Append the placeholder for dependent vowels |
356 if ( IsIndicIndependentChar( criteria[length-1] ) ) |
350 if ( IsIndicIndependentChar( criteria[length-1] ) ) |
357 criteria.Append( KLitHyphen ); |
351 criteria.Append( KLitHyphen ); |
358 |
352 |
359 // Update the AS search field first to be ready for redraw |
|
360 iAdaptiveSearchGrid->SetSearchTextToFindPane( criteria ); |
|
361 iSearchField->SetSearchTextL( criteria ); |
353 iSearchField->SetSearchTextL( criteria ); |
362 iSearchField->HandleControlEventL( iSearchField, EEventStateChanged ); |
354 iSearchField->HandleControlEventL( iSearchField, EEventStateChanged ); |
363 iSearchField->SetFocus( EFalse ); |
|
364 iSearchField->MakeVisible ( EFalse ); |
|
365 iSearchField->DrawNow(); |
355 iSearchField->DrawNow(); |
366 if( iAdaptiveSearchTextObserver ) |
356 if( iAdaptiveSearchTextObserver ) |
367 { |
357 { |
368 iSearchField->SetLanguageChangedFlag( EFalse ); |
358 iSearchField->SetLanguageChangedFlag( EFalse ); |
369 iAdaptiveSearchTextObserver->AdaptiveSearchTextChanged( iSearchField ); |
359 iAdaptiveSearchTextObserver->AdaptiveSearchTextChanged( iSearchField ); |
448 // ----------------------------------------------------------------------------- |
438 // ----------------------------------------------------------------------------- |
449 // |
439 // |
450 void CAknAdaptiveSearch::InvertAdaptiveSearchGridVisibilityL( TBool aSelectAll ) |
440 void CAknAdaptiveSearch::InvertAdaptiveSearchGridVisibilityL( TBool aSelectAll ) |
451 { |
441 { |
452 _AKNTRACE_FUNC_ENTER; |
442 _AKNTRACE_FUNC_ENTER; |
453 // update the search text here if showing |
443 TBool shown ( !iAdaptiveSearchGrid->IsShown() ); |
454 TInt textLength = 0; |
|
455 if( !iAdaptiveSearchGrid->IsShown() && &(iSearchField->Editor()) ) |
|
456 { |
|
457 textLength = iSearchField->Editor().TextLength(); |
|
458 HBufC* searchText = NULL; |
|
459 TPtrC finalText( KNullDesC ); |
|
460 if( textLength > 0 ) |
|
461 { |
|
462 TRAP_IGNORE( searchText = iSearchField->Editor().GetTextInHBufL() ); |
|
463 if( searchText ) |
|
464 { |
|
465 finalText.Set( *searchText ); // set the value |
|
466 _AKNDEBUG( |
|
467 _LIT( KClassName, "CAknAdaptiveSearch" ); |
|
468 _LIT( KFunctionName, "InvertAdaptiveSearchGridVisibilityL" ); |
|
469 _LIT( KFormat, "[%S][%S] Final text is: %S"); |
|
470 _AKNTRACE( KFormat, |
|
471 &KClassName, &KFunctionName, &finalText ); |
|
472 ); |
|
473 } |
|
474 } |
|
475 iAdaptiveSearchGrid->SetSearchTextToFindPane( finalText ); |
|
476 if( searchText ) |
|
477 { |
|
478 delete searchText; |
|
479 searchText = NULL; |
|
480 } |
|
481 } |
|
482 TBool shown( !(iAdaptiveSearchGrid->IsShown()) ); |
|
483 if ( shown ) |
|
484 { |
|
485 iSearchField->SetFocus( EFalse ); |
|
486 iSearchField->MakeVisible( EFalse ); |
|
487 } |
|
488 else |
|
489 { |
|
490 iSearchField->Editor().RemoveFlagFromUserFlags( CEikEdwin::EAvkonDisableVKB ); |
|
491 iSearchField->MakeVisible( ETrue ); |
|
492 iSearchField->SetFocus( ETrue ); |
|
493 } |
|
494 iAdaptiveSearchGrid->SetVisibilityL( shown, aSelectAll ); |
444 iAdaptiveSearchGrid->SetVisibilityL( shown, aSelectAll ); |
495 _AKNTRACE_FUNC_EXIT; |
445 _AKNTRACE_FUNC_EXIT; |
496 } |
446 } |
497 |
447 |
498 // ----------------------------------------------------------------------------- |
448 // ----------------------------------------------------------------------------- |
535 if (iAdaptiveSearchGrid && !iAdaptiveSearchGrid->IsShown()) |
485 if (iAdaptiveSearchGrid && !iAdaptiveSearchGrid->IsShown()) |
536 { |
486 { |
537 iAdaptiveSearchGrid->HandleResourceChange(KAknsMessageSkinChange); |
487 iAdaptiveSearchGrid->HandleResourceChange(KAknsMessageSkinChange); |
538 } |
488 } |
539 } |
489 } |
|
490 |
|
491 |
|
492 // ----------------------------------------------------------------------------- |
|
493 // CCAknAdaptiveSearch::SaveFindPaneRect() |
|
494 // When the rect of find pane is set, this functions will be notified |
|
495 // to record the size of it. |
|
496 // ----------------------------------------------------------------------------- |
|
497 // |
|
498 void CAknAdaptiveSearch::SaveFindPaneRect( const TRect &aRect ) |
|
499 { |
|
500 iAdaptiveSearchGrid->SaveFindPaneRect( aRect ); |
|
501 } |
|
502 |
540 // End of File |
503 // End of File |
541 |
504 |