diff -r 16ed8d08d0b1 -r 478bc57ad291 emailuis/nmhswidget/src/nmhswidgetemailrow.cpp --- a/emailuis/nmhswidget/src/nmhswidgetemailrow.cpp Wed Aug 18 09:37:47 2010 +0300 +++ b/emailuis/nmhswidget/src/nmhswidgetemailrow.cpp Thu Sep 02 20:15:00 2010 +0300 @@ -23,6 +23,8 @@ #include #include #include +#include +#include #include "nmicons.h" #include "nmcommon.h" #include "nmhswidgetemailrow.h" @@ -40,6 +42,7 @@ mBackgroundLayoutItem(0) { NM_FUNCTION; + grabGesture(Qt::TapGesture); } /*! @@ -121,7 +124,7 @@ mTimeLabel = static_cast (loader.findWidget(KNmHsWidgetMailRowTimeLabel)); //icons - mNewMailIcon = static_cast (loader.findWidget(KNmHsWidgetMailRowNewMailIcon)); + mNewMailIcon = static_cast (loader.findWidget(KNmHsWidgetMailRowNewMailIcon)); // KNmHsWidgetMailRowLeftIcon is not yet used, because followup information is not shown in client side // and thus it is not wanted to be shown in widget side mStatusIcons.append(static_cast (loader.findWidget(KNmHsWidgetMailRowRightIcon))); @@ -240,16 +243,18 @@ //Time shown if message is sent today, otherwise show date HbExtendedLocale locale = HbExtendedLocale::system(); QDateTime now = QDateTime::currentDateTime(); - if ( mMessageSentTime.date() == now.date() ) + //change time to locale time. mMessageSentTime is always in GMT + QDateTime localTime = mMessageSentTime.addSecs(locale.universalTimeOffset()); + if ( localTime.date() == now.date() ) { //time format specification QString timeSpec = r_qtn_time_usual; - mTimeLabel->setPlainText( locale.format(mMessageSentTime.time(), timeSpec) ); + mTimeLabel->setPlainText( locale.format(localTime.time(), timeSpec) ); } else { QString dateSpec = r_qtn_date_without_year; - mTimeLabel->setPlainText( locale.format(mMessageSentTime.date(), dateSpec) ); + mTimeLabel->setPlainText( locale.format(localTime.date(), dateSpec) ); } } @@ -380,27 +385,39 @@ } } -/*! - mousePressEvent(QGraphicsSceneMouseEvent *event) +/* + * NmHsWidgetEmailRow::gestureEvent(QGestureEvent *event) */ -void NmHsWidgetEmailRow::mousePressEvent(QGraphicsSceneMouseEvent *event) +void NmHsWidgetEmailRow::gestureEvent(QGestureEvent *event) { NM_FUNCTION; - Q_UNUSED(event); - setHighlighedFontsColor(true); - showHighlight(true); -} - -/*! - mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -*/ -void NmHsWidgetEmailRow::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) -{ - NM_FUNCTION; - Q_UNUSED(event); - setHighlighedFontsColor(false); - showHighlight(false); - emit mailViewerLaunchTriggered(mMessageId); + if(!event){ + return; + } + HbTapGesture *gesture = qobject_cast(event->gesture(Qt::TapGesture)); + if(!gesture){ + return; + } + switch (gesture->state()) { + case Qt::GestureStarted: + setHighlighedFontsColor(true); + showHighlight(true); + break; + case Qt::GestureCanceled: + setHighlighedFontsColor(false); + showHighlight(false); + break; + case Qt::GestureFinished: + setHighlighedFontsColor(false); + showHighlight(false); + if (gesture->tapStyleHint() == HbTapGesture::Tap) { + HbInstantFeedback::play(HbFeedback::BasicItem); + emit mailViewerLaunchTriggered(mMessageId); + } + break; + default: + break; + } } /*