phoneuis/dialer/src/cdialerkeypadcontainer.cpp
branchRCL_3
changeset 19 544e34b3255a
parent 17 38529f706030
child 25 91c2fb4b78df
equal deleted inserted replaced
17:38529f706030 19:544e34b3255a
    25 #include <AknControl.h>
    25 #include <AknControl.h>
    26 #include <AknsUtils.h>
    26 #include <AknsUtils.h>
    27 #include <AknsSkinInstance.h>
    27 #include <AknsSkinInstance.h>
    28 #include <AknsDrawUtils.h>
    28 #include <AknsDrawUtils.h>
    29 #include <AknsConstants.h>
    29 #include <AknsConstants.h>
    30 #include <AknLayout2Def.h>
    30 #include <aknlayout2def.h>
    31 #include <aknlayoutscalable_apps.cdl.h>
    31 #include <aknlayoutscalable_apps.cdl.h>
    32 #include <layoutmetadata.cdl.h>
    32 #include <layoutmetadata.cdl.h>
    33 #include <data_caging_path_literals.hrh> // for KDC_APP_RESOURCE_DIR
    33 #include <data_caging_path_literals.hrh> // for KDC_APP_RESOURCE_DIR
    34 #include <touchfeedback.h>
    34 #include <touchfeedback.h>
    35 #include <aknlayoutscalable_avkon.cdl.h>
    35 #include <aknlayoutscalable_avkon.cdl.h>
   513 void CDialerKeyPadContainer::MakeVisible( TBool aVisible )
   513 void CDialerKeyPadContainer::MakeVisible( TBool aVisible )
   514     {
   514     {
   515     // This is needed when dialer control disappeares during keypress. 
   515     // This is needed when dialer control disappeares during keypress. 
   516     // Last pressed pointer event must be forwarted to framework 
   516     // Last pressed pointer event must be forwarted to framework 
   517     // as pointer up event. Thus button is set to unpressed state etc. 
   517     // as pointer up event. Thus button is set to unpressed state etc. 
       
   518     // This code calls HandlePointerEventL of the parent class instead of this.
       
   519     // If we call this classes HandlePointerEventL, this classes 
       
   520     // grab status is not cleared, and later coming EButton1Up events may end
       
   521     // up erroneously to this class, although intended elsewhere.
   518     // 
   522     // 
   519     if ( !aVisible && iButtonPressedDown )
   523     if ( !aVisible && iButtonPressedDown && Parent() )
   520         {    
   524         {    
   521         iPointerEvent.iType = TPointerEvent::EButton1Up;
   525         iPointerEvent.iType = TPointerEvent::EButton1Up;
   522         TRAP_IGNORE( HandlePointerEventL( iPointerEvent ) );
   526         TRAP_IGNORE( Parent()->HandlePointerEventL( iPointerEvent ) );
   523         }    
   527         }    
   524     CCoeControl::MakeVisible( aVisible );        
   528     CCoeControl::MakeVisible( aVisible );        
   525     }
   529     }
   526 
   530 
   527 // ---------------------------------------------------------------------------
   531 // ---------------------------------------------------------------------------
   556 void CDialerKeyPadContainer::HandleLosingForeground()
   560 void CDialerKeyPadContainer::HandleLosingForeground()
   557     {
   561     {
   558     // This is needed when dialer control disappeares during keypress. 
   562     // This is needed when dialer control disappeares during keypress. 
   559     // Last pressed pointer event must be forwarted to framework 
   563     // Last pressed pointer event must be forwarted to framework 
   560     // as pointer up event. Thus button is set to unpressed state etc. 
   564     // as pointer up event. Thus button is set to unpressed state etc. 
       
   565     // This code calls HandlePointerEventL of the parent class instead of this.
       
   566     // If we call this classes HandlePointerEventL, this classes 
       
   567     // grab status is not cleared, and later coming EButton1Up events may end
       
   568     // up erroneously to this class, although intended elsewhere.
   561     // 
   569     // 
   562     if ( iButtonPressedDown )
   570     if ( iButtonPressedDown && Parent() )
   563         {    
   571         {    
   564         iPointerEvent.iType = TPointerEvent::EButton1Up;
   572         iPointerEvent.iType = TPointerEvent::EButton1Up;
   565         TRAP_IGNORE( HandlePointerEventL( iPointerEvent ) );
   573         TRAP_IGNORE( Parent()->HandlePointerEventL( iPointerEvent ) );
   566         }    
   574         }    
   567     }
   575     }
   568 
   576 
   569 // ---------------------------------------------------------------------------
   577 // ---------------------------------------------------------------------------
   570 // CDialerKeyPadContainer::KeyLabelsChanged
   578 // CDialerKeyPadContainer::KeyLabelsChanged