uifw/AvKon/src/AknSctDialog.cpp
branchRCL_3
changeset 64 85902f042028
parent 59 978afdc0236f
child 72 a5e7a4f63858
equal deleted inserted replaced
59:978afdc0236f 64:85902f042028
   104 
   104 
   105     TInt iShowAnotherTableCharCase;
   105     TInt iShowAnotherTableCharCase;
   106     TAknCharMapPictoMode    iPictoMode;
   106     TAknCharMapPictoMode    iPictoMode;
   107     TAknCharMapEmotionMode  iEmotionMode;
   107     TAknCharMapEmotionMode  iEmotionMode;
   108     TBool iFirstOrientation;
   108     TBool iFirstOrientation;
       
   109     TBool iSimKeyDown;
   109     };
   110     };
   110 
   111 
   111 // -----------------------------------------------------------------------------
   112 // -----------------------------------------------------------------------------
   112 // CAknCharMapDialogExtension::CAknCharMapDialogExtension
   113 // CAknCharMapDialogExtension::CAknCharMapDialogExtension
   113 //
   114 //
   114 // Constructor of extension
   115 // Constructor of extension
   115 // -----------------------------------------------------------------------------
   116 // -----------------------------------------------------------------------------
   116 //
   117 //
   117 CAknCharMapDialogExtension::CAknCharMapDialogExtension(CAknCharMapDialog* aCaller) : 
   118 CAknCharMapDialogExtension::CAknCharMapDialogExtension(CAknCharMapDialog* aCaller) : 
   118 iFlags(0), iQwertyMode(EFalse), iCaller(aCaller), 
   119 iFlags(0), iQwertyMode(EFalse), iCaller(aCaller), 
   119 iShowAnotherTableCharCase(-1), iPictoMode(EAknCharMapPictoNoUse), iEmotionMode(EAknCharMapEmotionNoUse)
   120 iShowAnotherTableCharCase(-1), iPictoMode(EAknCharMapPictoNoUse), iEmotionMode(EAknCharMapEmotionNoUse),
       
   121 iSimKeyDown( EFalse )
   120     {
   122     {
   121     }
   123     }
   122 
   124 
   123 // -----------------------------------------------------------------------------
   125 // -----------------------------------------------------------------------------
   124 // CAknCharMapDialogExtension::~CAknCharMapDialogExtension
   126 // CAknCharMapDialogExtension::~CAknCharMapDialogExtension
   295 
   297 
   296     // Selection key / select softkey adds a character only if 5-key was not used
   298     // Selection key / select softkey adds a character only if 5-key was not used
   297     // to select multiple characters before.
   299     // to select multiple characters before.
   298     if (aButtonId == EAknSoftkeyOk || aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyExit)
   300     if (aButtonId == EAknSoftkeyOk || aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyExit)
   299         {
   301         {
   300         // In Korean UI, SCT isn't closed by pressing "Select" softkey,
       
   301         // but SCT is closed by pressing "Back"(button id is EAknSoftkeyClose).
       
   302         // Japanese feature for SCT will not be supported since TB9.2 PS2,
       
   303         // so remove the code for Japanese SCT.
       
   304         MAknSctFocusHandler* handler = charmapControl->FocusHandler();
   302         MAknSctFocusHandler* handler = charmapControl->FocusHandler();
   305         if ( charmapControl->IsKoreanSctUi() &&
       
   306             aButtonId != EAknSoftkeyExit &&
       
   307             handler->FocusedControl() == charmapControl)
       
   308             {
       
   309             TKeyEvent key;
       
   310             key.iCode=EKeySpace;
       
   311             key.iModifiers=0;
       
   312             handler->FocusedControl()->OfferKeyEventL(key, EEventKey);
       
   313             return(EFalse);
       
   314             }
       
   315         // else
       
   316         TKeyEvent key;
   303         TKeyEvent key;
   317         key.iCode=EKeyOK;
   304         key.iCode=EKeyOK;
   318         key.iModifiers=0;
   305         key.iModifiers=0;
   319         if(handler->FocusedControl()->OfferKeyEventL(key, EEventKey) == EKeyWasNotConsumed)
   306         if(handler->FocusedControl()->OfferKeyEventL(key, EEventKey) == EKeyWasNotConsumed)
   320             {
   307             {
   492 
   479 
   493             default:
   480             default:
   494                 break;
   481                 break;
   495             }
   482             }
   496         }
   483         }
   497     else if (aModifiers == EEventKeyUp)
   484     else if ( aModifiers == EEventKeyDown )
   498         {
   485         {
   499         switch (aKeyEvent.iScanCode)
   486         switch ( aKeyEvent.iScanCode )
   500             {
   487             {
   501             case EStdKeyLeftFunc:
   488             case EStdKeyLeftFunc:
   502             case EStdKeyRightFunc:
   489             case EStdKeyRightFunc:
   503                 {
   490                 {
   504                 if (!aKeyEvent.iRepeats) // switch another table when repeat count is 0 only.
   491                 iExtension->iSimKeyDown = ETrue;
       
   492                 }
       
   493                 break;
       
   494             default:
       
   495                 break;
       
   496             }
       
   497         }
       
   498     else if ( aModifiers == EEventKeyUp )
       
   499         {
       
   500         switch ( aKeyEvent.iScanCode )
       
   501             {
       
   502             case EStdKeyLeftFunc:
       
   503             case EStdKeyRightFunc:
       
   504                 {
       
   505                 if ( !aKeyEvent.iRepeats  && iExtension->iSimKeyDown ) // switch another table when repeat count is 0 only.
   505                     {
   506                     {
   506                     if (!isLockNumericKeys) // Check whether current input mode is Qwerty.
   507                     if (!isLockNumericKeys) // Check whether current input mode is Qwerty.
   507                         {
   508                         {
   508                         SwitchTablesOrPagesL();
   509                         SwitchTablesOrPagesL();
   509                         }
   510                         }
   510                     }
   511                     }
       
   512                 iExtension->iSimKeyDown = EFalse;
   511                 }
   513                 }
   512                 break;
   514                 break;
   513             default:
   515             default:
   514                 break;
   516                 break;
   515             }
   517             }