uifw/AvKon/src/AknSctDialog.cpp
branchRCL_3
changeset 20 d48ab3b357f1
parent 19 aecbbf00d063
child 21 978afdc0236f
equal deleted inserted replaced
19:aecbbf00d063 20:d48ab3b357f1
    52 #include <akntransitionutils.h>
    52 #include <akntransitionutils.h>
    53 #endif
    53 #endif
    54 
    54 
    55 #include <AknTasHook.h>
    55 #include <AknTasHook.h>
    56 #include "aknsctfocushandler.h"
    56 #include "aknsctfocushandler.h"
       
    57 
       
    58 #include <eikdialogext.h>
    57 
    59 
    58 //
    60 //
    59 // class CAknCharMapDialog
    61 // class CAknCharMapDialog
    60 //
    62 //
    61 
    63 
   430 
   432 
   431     // Selection key / select softkey adds a character only if 5-key was not used
   433     // Selection key / select softkey adds a character only if 5-key was not used
   432     // to select multiple characters before.
   434     // to select multiple characters before.
   433     if (aButtonId == EAknSoftkeyOk || aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyExit)
   435     if (aButtonId == EAknSoftkeyOk || aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyExit)
   434         {
   436         {
   435         // In Japanese UI, SCT isn't closed by pressing "Select" softkey,
   437         // In Korean UI, SCT isn't closed by pressing "Select" softkey,
   436         // but SCT is closed by pressing "Back"(button id is EAknSoftkeyClose).
   438         // but SCT is closed by pressing "Back"(button id is EAknSoftkeyClose).
       
   439         // Japanese feature for SCT will not be supported since TB9.2 PS2,
       
   440         // so remove the code for Japanese SCT.
   437         MAknSctFocusHandler* handler = charmapControl->FocusHandler();
   441         MAknSctFocusHandler* handler = charmapControl->FocusHandler();
   438         if (charmapControl->IsJapaneseSctUi() &&
   442         if ( charmapControl->IsKoreanSctUi() &&
   439             aButtonId != EAknSoftkeyExit &&
   443             aButtonId != EAknSoftkeyExit &&
   440             handler->FocusedControl() == charmapControl)
   444             handler->FocusedControl() == charmapControl)
   441             {
   445             {
   442             TKeyEvent key;
   446             TKeyEvent key;
   443             key.iCode=EKeySpace;
   447             key.iCode=EKeySpace;
   529         }
   533         }
   530 
   534 
   531 	/// -- Change Window Priority for dialog and CBA 
   535 	/// -- Change Window Priority for dialog and CBA 
   532 	
   536 	
   533 	DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront); //
   537 	DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront); //
   534 	ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront); 	
   538 	ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront);
   535 
   539 	
       
   540 	CEikDialog::Extension()->SetPriority(CActive::EPriorityStandard);
   536     }
   541     }
   537 
   542 
   538 EXPORT_C void CAknCharMapDialog::SetSizeAndPosition( const TSize& aSize )
   543 EXPORT_C void CAknCharMapDialog::SetSizeAndPosition( const TSize& aSize )
   539     {
   544     {
   540     if ( AknLayoutUtils::PenEnabled() )
   545     if ( AknLayoutUtils::PenEnabled() )
   590             case EKeyRightArrow:
   595             case EKeyRightArrow:
   591             case EKeyUpArrow:
   596             case EKeyUpArrow:
   592             case EKeyDownArrow:
   597             case EKeyDownArrow:
   593                 {
   598                 {
   594                 TKeyResponse res = charmapControl->OfferKeyEventL(aKeyEvent, aModifiers);
   599                 TKeyResponse res = charmapControl->OfferKeyEventL(aKeyEvent, aModifiers);
   595                 RefreshTitleAndNavi();
   600                 RefreshTitleAndNaviL();
   596                 return res;
   601                 return res;
   597                 }
   602                 }
   598 
   603 
   599             case EKeyEnter:
   604             case EKeyEnter:
   600             case EKeyDevice3:
   605             case EKeyDevice3:
   601                 {
   606                 {
   602                 TryExitL(EAknSoftkeySelect);
   607                 TryExitL(EAknSoftkeySelect);
   603                 return EKeyWasConsumed;
   608                 return EKeyWasConsumed;
   604                 }
   609                 }
   605                 break;
       
   606                     
       
   607             case '*':
   610             case '*':
   608                 {
   611                 {
   609                 if (!aKeyEvent.iRepeats) // switch another table when repeat count is 0 only.
   612                 if (!aKeyEvent.iRepeats) // switch another table when repeat count is 0 only.
   610                     {
   613                     {
   611                     if(iExtension->iHaveReceivedKeyEvent)
   614                     if(iExtension->iHaveReceivedKeyEvent)
   953 // Handles pointer events
   956 // Handles pointer events
   954 // -----------------------------------------------------------------------------
   957 // -----------------------------------------------------------------------------
   955 //
   958 //
   956 EXPORT_C void CAknCharMapDialog::HandlePointerEventL(const TPointerEvent& aPointerEvent)
   959 EXPORT_C void CAknCharMapDialog::HandlePointerEventL(const TPointerEvent& aPointerEvent)
   957     {
   960     {
   958     if (!Rect().Contains( aPointerEvent.iPosition))
   961     if(!Rect().Contains(aPointerEvent.iPosition))
   959         {
   962         {
   960         if(aPointerEvent.iType == TPointerEvent::EButton1Down)
   963         if(aPointerEvent.iType == TPointerEvent::EButton1Down)
   961             {
   964             {
   962             TryExitL (EAknSoftkeyCancel);
   965             TryExitL(EAknSoftkeyCancel);
   963             return;
   966             return;
   964             }
   967             }
   965          else if(aPointerEvent.iType == TPointerEvent::EButton1Up)
   968         }
   966             {
   969 
   967             CAknCharMap* charMap = STATIC_CAST( CAknCharMap*, Control( EAknSCTQueryContentId ) );
   970     CAknDialog::HandlePointerEventL(aPointerEvent);
   968             charMap->HandlePointerEventL( aPointerEvent);
       
   969             }
       
   970         }
       
   971     else
       
   972         {
       
   973         CAknDialog::HandlePointerEventL(aPointerEvent);
       
   974         }
       
   975     }
   971     }
   976 
   972 
   977 void CAknCharMapDialog::SwitchTablesOrPagesL()
   973 void CAknCharMapDialog::SwitchTablesOrPagesL()
   978     {
   974     {
   979     if(!SwitchTablesL())
   975     if(!SwitchTablesL())
  1004     {
  1000     {
  1005     CAknCharMap* charmapControl = STATIC_CAST(CAknCharMap*, Control(EAknSCTQueryContentId));
  1001     CAknCharMap* charmapControl = STATIC_CAST(CAknCharMap*, Control(EAknSCTQueryContentId));
  1006     CAknPopupHeadingPane* headingPane = STATIC_CAST(CAknPopupHeadingPane*, Control(EAknSCTQueryHeadingId));
  1002     CAknPopupHeadingPane* headingPane = STATIC_CAST(CAknPopupHeadingPane*, Control(EAknSCTQueryHeadingId));
  1007     
  1003     
  1008     charmapControl->NextPageL();
  1004     charmapControl->NextPageL();
  1009     RefreshTitleAndNavi();
  1005     RefreshTitleAndNaviL();
  1010     }
  1006     }
  1011 
  1007 
  1012 void CAknCharMapDialog::RefreshTitleAndNavi()
  1008 void CAknCharMapDialog::RefreshTitleAndNaviL()
  1013     {
  1009     {
  1014     CAknCharMap* charmapControl = STATIC_CAST(CAknCharMap*, Control(EAknSCTQueryContentId));
  1010     CAknCharMap* charmapControl = STATIC_CAST(CAknCharMap*, Control(EAknSCTQueryContentId));
  1015     CAknPopupHeadingPane* headingPane = STATIC_CAST(CAknPopupHeadingPane*, Control(EAknSCTQueryHeadingId));
  1011     CAknPopupHeadingPane* headingPane = STATIC_CAST(CAknPopupHeadingPane*, Control(EAknSCTQueryHeadingId));
  1016     
  1012     
  1017     if (!AknLayoutUtils::PenEnabled())
  1013     if (!AknLayoutUtils::PenEnabled())