terminalsecurity/SCP/SCPClient/src/SCPQueryDialog.cpp
changeset 2 5594fba90824
parent 0 b497e44ab2fc
child 5 3f7d9dbe57c8
equal deleted inserted replaced
1:a9c0ce913924 2:5594fba90824
    72 			  iEMCallActivated( EFalse ),
    72 			  iEMCallActivated( EFalse ),
    73 			  iShowingEMNumber( EFalse ),
    73 			  iShowingEMNumber( EFalse ),
    74 			  iPreviousCharacterWasInvalid( EFalse ),
    74 			  iPreviousCharacterWasInvalid( EFalse ),
    75 			  iPrioritySet( EFalse ),
    75 			  iPrioritySet( EFalse ),
    76 			  iPriorityDropped( EFalse ),
    76 			  iPriorityDropped( EFalse ),
    77 			  iKeyUsed ( NULL )
    77 			  iKeyUsed ( NULL ),
       
    78 			  isCallSoftkeyAdded(EFalse)
    78 	{		 
    79 	{		 
    79 	}
    80 	}
    80 	
    81 	
    81 //
    82 //
    82 // ----------------------------------------------------------
    83 // ----------------------------------------------------------
   535             // An emergency number is entered, show the text in the field
   536             // An emergency number is entered, show the text in the field
   536             QueryControl()->SetTextL( iEcsDetector->CurrentMatch() );            
   537             QueryControl()->SetTextL( iEcsDetector->CurrentMatch() );            
   537             if ( queryControl != NULL )
   538             if ( queryControl != NULL )
   538                 {
   539                 {
   539                 queryControl->RevealSecretText( ETrue );
   540                 queryControl->RevealSecretText( ETrue );
       
   541                 if (isCallSoftkeyAdded == EFalse)
       
   542                 {
       
   543                 	isCallSoftkeyAdded = ETrue;
   540                 HBufC* cbaLabel = NULL;
   544                 HBufC* cbaLabel = NULL;
   541 				Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): R_AVKON_SOFTKEY_CALL_TEXT") ));
   545 				Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): R_AVKON_SOFTKEY_CALL_TEXT") ));
   542                 TRAPD ( err, cbaLabel =
   546                 TRAPD ( err, cbaLabel =
   543                         StringLoader::LoadL( R_AVKON_SOFTKEY_CALL_TEXT) );
   547                         StringLoader::LoadL( R_AVKON_SOFTKEY_CALL_TEXT) );
   544                 if ( err == KErrNone )
   548                 if ( err == KErrNone )
   545                 {
   549                 {
       
   550                 	ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk);
   546                 TRAP ( err, ButtonGroupContainer().AddCommandToStackL( 0, EAknSoftkeyEmergencyCall,
   551                 TRAP ( err, ButtonGroupContainer().AddCommandToStackL( 0, EAknSoftkeyEmergencyCall,
   547                         *cbaLabel) );
   552                         *cbaLabel) );
       
   553 				ButtonGroupContainer().DrawDeferred();
   548                 delete cbaLabel;
   554                 delete cbaLabel;
       
   555                 }
   549               }
   556               }
   550                 }            
   557                 }            
   551             }
   558             }
   552         else
   559         else
   553             {
   560             {
   554             // The input doesn't match a Em-number
   561             // The input doesn't match a Em-number
   555             if ( queryControl != NULL )
   562             if ( queryControl != NULL )
   556                 {
   563                 {
   557                 queryControl->RevealSecretText( EFalse );
   564                 queryControl->RevealSecretText( EFalse );
       
   565 			if(aType == EEventKey)
       
   566 			{
   558                 HBufC* cbaLabel = NULL;
   567                 HBufC* cbaLabel = NULL;
   559 				Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): R_SCPDIALOG_OK_TEXT") ));
   568 				Dprint( (_L("CSCPQueryDialog::OfferKeyEventL(): R_SCPDIALOG_OK_TEXT") ));
   560                 TRAPD ( err , cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) );
   569                 TRAPD ( err , cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) );
   561                 if ( err == KErrNone )
   570                 if ( err == KErrNone )
   562                 {
   571                 {
       
   572 					if (isCallSoftkeyAdded)
       
   573 					{
       
   574 						isCallSoftkeyAdded = EFalse;
       
   575 						ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyEmergencyCall);
       
   576 					}
       
   577 					else
       
   578 					{
       
   579 					ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk);
       
   580 					}
   563                 TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0,EAknSoftkeyOk,*cbaLabel) );
   581                 TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0,EAknSoftkeyOk,*cbaLabel) );
   564                 ButtonGroupContainer().DrawDeferred();
   582                 ButtonGroupContainer().DrawDeferred();
   565                 delete cbaLabel;
   583                 delete cbaLabel;
       
   584 				}
   566             	  }
   585             	  }
   567                 }
   586                 }
   568             }
   587             }
   569         }                  
   588         }                  
   570      
   589      
   713                 HBufC* cbaLabel = NULL;
   732                 HBufC* cbaLabel = NULL;
   714 				Dprint( (_L("CSCPQueryDialog::HandleEcsEvent(): R_SCPDIALOG_OK_TEXT") ));
   733 				Dprint( (_L("CSCPQueryDialog::HandleEcsEvent(): R_SCPDIALOG_OK_TEXT") ));
   715                 TRAP ( err, cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) );
   734                 TRAP ( err, cbaLabel= StringLoader::LoadL(R_SCPDIALOG_OK_TEXT) );
   716                 if ( err == KErrNone )
   735                 if ( err == KErrNone )
   717                 {
   736                 {
       
   737                 	if (isCallSoftkeyAdded)
       
   738 						{
       
   739 							isCallSoftkeyAdded = EFalse;
       
   740 							ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyEmergencyCall);
       
   741 						}
       
   742 						else
       
   743 						{
       
   744 							ButtonGroupContainer().RemoveCommandFromStack(0,EAknSoftkeyOk);
       
   745 						}
   718                 	TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0, EAknSoftkeyOk, *cbaLabel) );
   746                 	TRAP ( err , ButtonGroupContainer().AddCommandToStackL(0, EAknSoftkeyOk, *cbaLabel) );
   719                 	ButtonGroupContainer().DrawDeferred();
   747                 	ButtonGroupContainer().DrawDeferred();
   720                 	delete cbaLabel;
   748                 	delete cbaLabel;
   721                 }
   749                 }
   722             }
   750             }