calendarui/views/src/calendayview.cpp
changeset 32 ea672fcb0ea0
parent 26 a949c2543c15
child 49 5de72ea7a065
--- a/calendarui/views/src/calendayview.cpp	Fri May 14 15:51:09 2010 +0300
+++ b/calendarui/views/src/calendayview.cpp	Thu May 27 12:51:15 2010 +0300
@@ -19,6 +19,8 @@
 #include <QGraphicsSceneEvent>
 #include <hbmainwindow.h>
 #include <hbaction.h>
+#include <hbpangesture.h>
+#include <hbswipegesture.h>
 
 // User includes
 #include "calendayview.h"
@@ -41,6 +43,7 @@
 mActionTaken(false)
 {
     // No implementation yet
+    grabGesture(Qt::SwipeGesture);
 }
 
 // ----------------------------------------------------------------------------
@@ -168,66 +171,22 @@
     return mDocLoader;
 }
 
-// ----------------------------------------------------------------------------
-// CalenDayView::handleLocaleChange
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayView::mousePressEvent(QGraphicsSceneMouseEvent *event)
-{
-    // TODO: Remove these after gestures are available
-    mTapPoint = event->pos();
-    event->accept();
-}
-
-// ----------------------------------------------------------------------------
-// CalenDayView::handleLocaleChange
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-void CalenDayView::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
+/*
+	Function to listen for gestures
+*/
+void CalenDayView::gestureEvent(QGestureEvent *event)
 {
-    // TODO: Remove these after gestures are available
-    QPointF curPos = event->pos();
-    if (abs(curPos.y() - mTapPoint.y()) > 20) {
-        event->accept();
-        return;
-    }
-    if (curPos.x() - mTapPoint.x() > 50) {
-        mTapPoint = QPointF(0, 0);
-        mServices.IssueCommandL(ECalenShowPrevDay);
-        mActionTaken = true;
-    } else if (curPos.x() - mTapPoint.x() < -50) {
-        mTapPoint = QPointF(0, 0);
-        mServices.IssueCommandL(ECalenShowNextDay);
-        mActionTaken = true;
-    }
-    event->accept();
-}
-
-// ----------------------------------------------------------------------------
-// CCalenDayView::eventFilter
-// Rest of the details are commented in the header
-// ----------------------------------------------------------------------------
-//
-bool CalenDayView::eventFilter(QObject *source, QEvent *event)
-{
-    // TODO : remove this line after gestures are available
-    mActionTaken = false;
-    Q_UNUSED(source)
-    if (event->type() == QEvent::GraphicsSceneMousePress) {
-        QGraphicsSceneMouseEvent *mouseEvent = static_cast<QGraphicsSceneMouseEvent*>(event);
-        mousePressEvent(mouseEvent);
-    } else if (event->type() == QEvent::GraphicsSceneMouseMove) {
-        QGraphicsSceneMouseEvent *mouseEvent = static_cast<QGraphicsSceneMouseEvent*>(event);
-        mouseMoveEvent(mouseEvent);
-    }
-    if (mActionTaken) {
-        // Swipe gesture has been enforced.
-        // Do not pass the event to the source
-        return true;
-    }
-    return false;
+    if(HbSwipeGesture *gesture = qobject_cast<HbSwipeGesture *>(event->gesture(Qt::SwipeGesture))) {
+        if (gesture->state() == Qt::GestureStarted) {
+            if(QSwipeGesture::Left == gesture->horizontalDirection()) {
+                mServices.IssueCommandL(ECalenShowNextDay);
+                event->accept(Qt::SwipeGesture);
+            } else if(QSwipeGesture::Right == gesture->horizontalDirection()) {
+                mServices.IssueCommandL(ECalenShowPrevDay);
+               event->accept(Qt::SwipeGesture);
+            }
+        }
+    } 
 }
 
 // ----------------------------------------------------------------------------