calendarwidgetplugin/src/calendarwidget.cpp
changeset 4 6ea82847f1b7
parent 1 f8e7eccf5f96
equal deleted inserted replaced
3:b2d662d68a49 4:6ea82847f1b7
    62 CalendarWidget::CalendarWidget(QGraphicsItem* parent, Qt::WindowFlags flags)
    62 CalendarWidget::CalendarWidget(QGraphicsItem* parent, Qt::WindowFlags flags)
    63     : HbWidget(parent, flags)
    63     : HbWidget(parent, flags)
    64 {
    64 {
    65     LOGS("CalendarWidget::CalendarWidget");
    65     LOGS("CalendarWidget::CalendarWidget");
    66     grabGesture(Qt::TapGesture);
    66     grabGesture(Qt::TapGesture);
    67     grabGesture(Qt::PanGesture);
       
    68     grabGesture(Qt::PinchGesture);
       
    69     grabGesture(Qt::SwipeGesture);
       
    70     mWidgetLoaded = false;
    67     mWidgetLoaded = false;
       
    68     mIsTapAndHold = false;
    71 }
    69 }
    72 
    70 
    73 /*
    71 /*
    74  * CalendarWidget::~CalendarWidget()
    72  * CalendarWidget::~CalendarWidget()
    75  */
    73  */
   236     if (eventType == HbEvent::ThemeChanged) {
   234     if (eventType == HbEvent::ThemeChanged) {
   237         consumed = true;
   235         consumed = true;
   238         emit themeChanged();
   236         emit themeChanged();
   239     }
   237     }
   240     
   238     
   241     if (eventType == QEvent::Gesture) {
       
   242         QGestureEvent* gesture = static_cast<QGestureEvent*>(event);
       
   243         QList<QGesture*> gestureList = gesture->gestures();
       
   244         for (int i = 0; i < gestureList.count(); i++) {
       
   245             int type = gestureList.at(i)->gestureType();
       
   246             qDebug() << "type = " << type;
       
   247         }
       
   248         gestureEvent(static_cast<QGestureEvent*>(event));
       
   249         consumed = true;
       
   250     }
       
   251 
   239 
   252     return consumed;
   240     return consumed;
   253 }
   241 }
   254 
   242 
   255 /*
   243 /*
   333     if (QTapGesture *tap = (QTapGesture*)event->gesture(Qt::TapGesture)) {
   321     if (QTapGesture *tap = (QTapGesture*)event->gesture(Qt::TapGesture)) {
   334         QPointF posFromScene = mapFromScene(event->mapToGraphicsScene(tap->position()));
   322         QPointF posFromScene = mapFromScene(event->mapToGraphicsScene(tap->position()));
   335         switch(tap->state()) {
   323         switch(tap->state()) {
   336             case Qt::GestureStarted:
   324             case Qt::GestureStarted:
   337                 emit mousePressed(posFromScene);
   325                 emit mousePressed(posFromScene);
       
   326                 mIsTapAndHold = false;
   338                 LOGS("CalendarWidget::gestureEvent => gestureStarted");
   327                 LOGS("CalendarWidget::gestureEvent => gestureStarted");
   339                 break;
   328                 break;
   340             case Qt::GestureUpdated:
   329             case Qt::GestureUpdated:
   341                 LOGS("CalendarWidget::gestureEvent => gestureUpdated");
   330                 LOGS("CalendarWidget::gestureEvent => gestureUpdated");
       
   331                 emit mouseReleased();
       
   332                 mIsTapAndHold = true;
   342                 break;
   333                 break;
   343             case Qt::GestureFinished:
   334             case Qt::GestureFinished:
   344                 emit tapGesture(posFromScene);
   335                 LOGS("CalendarWidget::gestureEvent => gestureFinished");
       
   336                 if( !mIsTapAndHold ) {
       
   337                     /*workaround for calendar launch: calendar should launched only in case of tap
       
   338                      *this seems to be a bug in the framework as the tap
       
   339                      *gesture should be canceled and not finished when a tap and hold gesture is started   
       
   340                      */
       
   341                     emit tapGesture(posFromScene);   
       
   342                 }
       
   343                 //highlight should be turned off
   345                 emit mouseReleased();
   344                 emit mouseReleased();
   346                 LOGS("CalendarWidget::gestureEvent => gestureFinished");
       
   347                 break;
   345                 break;
   348             case Qt::GestureCanceled:
   346             case Qt::GestureCanceled:
   349                 LOGS("CalendarWidget::gestureEvent => gestureCanceled");
   347                 LOGS("CalendarWidget::gestureEvent => gestureCanceled");
       
   348                 emit mouseReleased();
   350                 break;
   349                 break;
   351             default:
   350             default:
   352                 break;
   351                 break;
   353         }
   352         }
   354     }
   353     }
   355     
   354     
   356     if(QPanGesture *pan = (QPanGesture*)event->gesture(Qt::PanGesture)) {
       
   357         switch (pan->state()) {
       
   358             case Qt::GestureFinished:
       
   359                 emit mouseReleased();
       
   360                 break;
       
   361             default:
       
   362                 break;
       
   363         }
       
   364     }
       
   365         
       
   366     if (QSwipeGesture *swipe = (QSwipeGesture*)event->gesture(Qt::SwipeGesture)) {
       
   367         switch (swipe->state()) {
       
   368             case Qt::GestureFinished:
       
   369                 emit mouseReleased();
       
   370                 break;
       
   371             default:
       
   372                 break;
       
   373         }
       
   374     }
       
   375 
       
   376     if (QPinchGesture *pinch = (QPinchGesture*)event->gesture(Qt::PinchGesture)) {
       
   377         switch (pinch->state()) {
       
   378             case Qt::GestureFinished:
       
   379                 emit mouseReleased();
       
   380                 break;
       
   381             default:
       
   382                 break;
       
   383         }
       
   384     }
       
   385 }
   355 }
   386 
   356 
   387 /*
   357 /*
   388  *  CalendarWidget::mousePressEvent()
   358  *  CalendarWidget::mousePressEvent()
   389  */
   359  */