uifw/AvKon/src/AknSctDialog.cpp
branchRCL_3
changeset 55 aecbbf00d063
parent 51 fcdfafb36fe7
child 56 d48ab3b357f1
--- a/uifw/AvKon/src/AknSctDialog.cpp	Thu Aug 19 10:11:06 2010 +0300
+++ b/uifw/AvKon/src/AknSctDialog.cpp	Tue Aug 31 15:28:30 2010 +0300
@@ -55,8 +55,6 @@
 #include <AknTasHook.h>
 #include "aknsctfocushandler.h"
 
-#include <eikdialogext.h>
-
 //
 // class CAknCharMapDialog
 //
@@ -434,12 +432,10 @@
     // to select multiple characters before.
     if (aButtonId == EAknSoftkeyOk || aButtonId == EAknSoftkeySelect || aButtonId == EAknSoftkeyExit)
         {
-        // In Korean UI, SCT isn't closed by pressing "Select" softkey,
+        // In Japanese UI, SCT isn't closed by pressing "Select" softkey,
         // but SCT is closed by pressing "Back"(button id is EAknSoftkeyClose).
-        // Japanese feature for SCT will not be supported since TB9.2 PS2,
-        // so remove the code for Japanese SCT.
         MAknSctFocusHandler* handler = charmapControl->FocusHandler();
-        if ( charmapControl->IsKoreanSctUi() &&
+        if (charmapControl->IsJapaneseSctUi() &&
             aButtonId != EAknSoftkeyExit &&
             handler->FocusedControl() == charmapControl)
             {
@@ -535,9 +531,8 @@
 	/// -- Change Window Priority for dialog and CBA 
 	
 	DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront); //
-	ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront);
-	
-	CEikDialog::Extension()->SetPriority(CActive::EPriorityStandard);
+	ButtonGroupContainer().ButtonGroup()->AsControl()->DrawableWindow()->SetOrdinalPosition(0,ECoeWinPriorityAlwaysAtFront); 	
+
     }
 
 EXPORT_C void CAknCharMapDialog::SetSizeAndPosition( const TSize& aSize )
@@ -597,7 +592,7 @@
             case EKeyDownArrow:
                 {
                 TKeyResponse res = charmapControl->OfferKeyEventL(aKeyEvent, aModifiers);
-                RefreshTitleAndNaviL();
+                RefreshTitleAndNavi();
                 return res;
                 }
 
@@ -607,6 +602,8 @@
                 TryExitL(EAknSoftkeySelect);
                 return EKeyWasConsumed;
                 }
+                break;
+                    
             case '*':
                 {
                 if (!aKeyEvent.iRepeats) // switch another table when repeat count is 0 only.
@@ -958,16 +955,23 @@
 //
 EXPORT_C void CAknCharMapDialog::HandlePointerEventL(const TPointerEvent& aPointerEvent)
     {
-    if(!Rect().Contains(aPointerEvent.iPosition))
+    if (!Rect().Contains( aPointerEvent.iPosition))
         {
         if(aPointerEvent.iType == TPointerEvent::EButton1Down)
             {
-            TryExitL(EAknSoftkeyCancel);
+            TryExitL (EAknSoftkeyCancel);
             return;
             }
+         else if(aPointerEvent.iType == TPointerEvent::EButton1Up)
+            {
+            CAknCharMap* charMap = STATIC_CAST( CAknCharMap*, Control( EAknSCTQueryContentId ) );
+            charMap->HandlePointerEventL( aPointerEvent);
+            }
         }
-
-    CAknDialog::HandlePointerEventL(aPointerEvent);
+    else
+        {
+        CAknDialog::HandlePointerEventL(aPointerEvent);
+        }
     }
 
 void CAknCharMapDialog::SwitchTablesOrPagesL()
@@ -1002,10 +1006,10 @@
     CAknPopupHeadingPane* headingPane = STATIC_CAST(CAknPopupHeadingPane*, Control(EAknSCTQueryHeadingId));
     
     charmapControl->NextPageL();
-    RefreshTitleAndNaviL();
+    RefreshTitleAndNavi();
     }
 
-void CAknCharMapDialog::RefreshTitleAndNaviL()
+void CAknCharMapDialog::RefreshTitleAndNavi()
     {
     CAknCharMap* charmapControl = STATIC_CAST(CAknCharMap*, Control(EAknSCTQueryContentId));
     CAknPopupHeadingPane* headingPane = STATIC_CAST(CAknPopupHeadingPane*, Control(EAknSCTQueryHeadingId));