diff -r 6aeb7a756187 -r 3c88a81ff781 homescreen/widgetplugins/hsbookmarkwidgetplugin/src/hsbookmarkwidget.cpp --- a/homescreen/widgetplugins/hsbookmarkwidgetplugin/src/hsbookmarkwidget.cpp Thu Sep 23 15:32:11 2010 -0400 +++ b/homescreen/widgetplugins/hsbookmarkwidgetplugin/src/hsbookmarkwidget.cpp Fri Oct 15 17:30:59 2010 -0400 @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include @@ -45,8 +45,10 @@ */ HsBookmarkWidget::HsBookmarkWidget(QGraphicsItem* parent, Qt::WindowFlags flags) : HbWidget(parent, flags), - mBackground(0), mIcon(0), mText(0), mTouchArea(0) + mBackground(0), mIcon(0), mText(0) { + grabGesture(Qt::TapGesture); + HbStyleLoader::registerFilePath(":/hsbookmarkwidget.widgetml"); HbStyleLoader::registerFilePath(":/hsbookmarkwidget.css"); @@ -145,30 +147,29 @@ } /*! - Filters touch area events. + Process gesture events. */ -bool HsBookmarkWidget::eventFilter(QObject *watched, QEvent *event) +void HsBookmarkWidget::gestureEvent(QGestureEvent *event) { - Q_UNUSED(watched) - - switch (event->type()) { - case QEvent::GraphicsSceneMousePress: - handleMousePressEvent(static_cast(event)); - return true; - case QEvent::GraphicsSceneMouseMove: - handleMouseMoveEvent(static_cast(event)); - return true; - case QEvent::GraphicsSceneMouseRelease: - handleMouseReleaseEvent(static_cast(event)); - return true; - case QEvent::UngrabMouse: - setBackgroundToNormal(); - return true; - default: - break; + HbTapGesture *gesture = qobject_cast(event->gesture(Qt::TapGesture)); + if (gesture) { + switch (gesture->state()) { + case Qt::GestureStarted: + setBackgroundToPressed(); + break; + case Qt::GestureCanceled: + setBackgroundToNormal(); + break; + case Qt::GestureFinished: + setBackgroundToNormal(); + if (gesture->tapStyleHint() == HbTapGesture::Tap) { + launch(); + } + break; + default: + break; + } } - - return false; } void HsBookmarkWidget::onInitialize() @@ -214,38 +215,13 @@ { } -/*! - \internal -*/ -void HsBookmarkWidget::handleMousePressEvent(QGraphicsSceneMouseEvent *event) -{ - Q_UNUSED(event) - setBackgroundToPressed(); -} + /*! \internal */ -void HsBookmarkWidget::handleMouseMoveEvent(QGraphicsSceneMouseEvent *event) +void HsBookmarkWidget::launch() { - if (contains(event->pos())) { - setBackgroundToPressed(); - } else { - setBackgroundToNormal(); - } -} - -/*! - \internal -*/ -void HsBookmarkWidget::handleMouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - setBackgroundToNormal(); - - if (!contains(event->pos())) { - return; - } - //HbInstantFeedback::play(HSCONFIGURATION_GET(bookmarkWidgetTapFeedbackEffect)); QUrl url = QUrl(mBookmarkUrl); @@ -278,13 +254,6 @@ mText = new HbTextItem(this); HbStyle::setItemName(mText, QLatin1String("text")); } - - // Touch AreaOK - if (!mTouchArea) { - mTouchArea = new HbTouchArea(this); - mTouchArea->installEventFilter(this); - HbStyle::setItemName(mTouchArea, QLatin1String("toucharea")); - } } /*!