phonebookui/pbkcommonui/src/cntimagelabel.cpp
changeset 37 fd64c38c277d
parent 27 de1630741fbe
child 46 efe85016a067
equal deleted inserted replaced
31:2a11b5b00470 37:fd64c38c277d
    16 */
    16 */
    17 
    17 
    18 #include "cntimagelabel.h"
    18 #include "cntimagelabel.h"
    19 
    19 
    20 #include <hbinstantfeedback.h>
    20 #include <hbinstantfeedback.h>
       
    21 #include <hbtapgesture.h>
    21 #include <QGraphicsSceneMouseEvent>
    22 #include <QGraphicsSceneMouseEvent>
    22 
    23 
    23 CntImageLabel::CntImageLabel(QGraphicsItem *parent) :
    24 CntImageLabel::CntImageLabel(QGraphicsItem *parent) :
    24     HbLabel(parent)
    25     HbLabel(parent)
    25 {
    26 {
    26 
    27     grabGesture(Qt::TapGesture);
    27 }
    28 }
    28 
    29 
    29 CntImageLabel::~CntImageLabel()
    30 CntImageLabel::~CntImageLabel()
    30 {
    31 {
    31 
    32 
    32 }
    33 }
    33 
    34 
    34 void CntImageLabel::mousePressEvent(QGraphicsSceneMouseEvent *event)
    35 void CntImageLabel::gestureEvent(QGestureEvent* event)
    35 {
    36 { 
    36     HbInstantFeedback::play(HbFeedback::Basic);
    37     if (HbTapGesture *tap = qobject_cast<HbTapGesture *>(event->gesture(Qt::TapGesture))) 
    37     event->accept();
    38     {    
       
    39         switch (tap->state()) 
       
    40         {
       
    41             case Qt::GestureFinished:
       
    42                 if (tap->tapStyleHint() == HbTapGesture::Tap)
       
    43                 {
       
    44                     HbInstantFeedback::play(HbFeedback::Basic);
       
    45                     emit iconClicked();
       
    46                 }
       
    47                 break;
       
    48             case Qt::GestureUpdated:
       
    49                 if (tap->tapStyleHint() == HbTapGesture::TapAndHold) 
       
    50                 {
       
    51                     emit iconLongPressed(tap->position());
       
    52                 }
       
    53                 break;
       
    54             default:
       
    55                 break;
       
    56         }
       
    57         event->accept();
       
    58     } 
       
    59     else 
       
    60     {
       
    61         event->ignore();
       
    62     }
    38 }
    63 }
    39 
    64 
    40 void CntImageLabel::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
       
    41 {
       
    42     if (rect().contains(event->pos()))
       
    43     {
       
    44         emit iconClicked();
       
    45     }
       
    46     event->accept();
       
    47 }