terminalsecurity/SCP/SCPClient/src/SCPClient.cpp
branchRCL_3
changeset 15 007508d6e57b
parent 9 57a65a3a658c
child 24 13d7c31c74e0
--- a/terminalsecurity/SCP/SCPClient/src/SCPClient.cpp	Wed Apr 14 16:50:34 2010 +0300
+++ b/terminalsecurity/SCP/SCPClient/src/SCPClient.cpp	Tue Apr 27 17:31:13 2010 +0300
@@ -186,10 +186,13 @@
                 TInt aMaxLen,
                 TUint aResId = 0,
                 TDesC* aPrompt = NULL,
-                TBool aECSSupport = EFalse         
+                TBool aECSSupport = EFalse,
+                CSCPQueryDialog :: TKeypadContext aContext = CSCPQueryDialog :: EContextSensitive
               )
     {
     Dprint(_L("[RSCPClient]-> RunDialogL() >>> "));
+    Dprint(_L("[RSCPClient]-> RunDialogL() aContext = %d "), aContext);
+    
     FeatureManager::InitializeLibL();
     if(!FeatureManager::FeatureSupported(KFeatureIdSapDeviceLockEnhancements))
 	{
@@ -207,7 +210,8 @@
         aButtonsShown,
         aMinLen,
         aMaxLen,
-        aECSSupport
+        aECSSupport,
+        aContext
         ); 
         
     CleanupStack::PushL( dialog );            
@@ -820,6 +824,7 @@
                                       HBufC** aNewCodePptr/* = NULL*/)
     {
     
+    Dprint(_L("[RSCPClient]-> GetNewCodeAndChange() >>>"));
     
     if(!isFlagEnabled)
 	{
@@ -893,19 +898,25 @@
                                  maxLen,
                                  R_SECUI_TEXT_ENTER_NEW_SEC_CODE,
                                  NULL,
-                                 ecSupport ) );
+                                 ecSupport,
+                                 CSCPQueryDialog :: EAlphaNumeric) );
     
         if ( ( ret ) && ( ret != ESecUiEmergencyCall ) && ( err == KErrNone ) )
-            {        
+            {
             verifyCodeBuffer.Zero();
+            TChar ch = static_cast<TChar>(newCodeBuffer[0]);
             
+            CSCPQueryDialog :: TKeypadContext lKPContext = 
+                    (ch.IsDigit() ? CSCPQueryDialog :: ENumeric : CSCPQueryDialog :: EAlphaNumeric);
+                    
             TRAP( err, ret = RunDialogL( verifyCodeBuffer, 
                                  bConfig, 
                                  minLen,
                                  maxLen,
                                  R_SECUI_TEXT_VERIFY_NEW_SEC_CODE,
                                  NULL,
-                                 ecSupport ) );                             
+                                 ecSupport,
+                                 lKPContext));                             
             }
 
         if ( ( !ret ) || ( err != KErrNone ) || ( ret == ESecUiEmergencyCall ) )
@@ -995,6 +1006,7 @@
     delete verifyCodeHBuf;
     delete newCodeHBuf;
         
+    Dprint(_L("[RSCPClient]-> GetNewCodeAndChange() <<<"));
     return err;        
     }