equal
deleted
inserted
replaced
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 |