uifw/AvKon/src/AknAdaptiveSearch.cpp
branchRCL_3
changeset 10 9f56a4e1b8ab
parent 0 2f259fa3e83a
child 55 aecbbf00d063
equal deleted inserted replaced
9:aabf2c525e0f 10:9f56a4e1b8ab
   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 // -----------------------------------------------------------------------------