src/hbwidgets/itemviews/hbabstractviewitem.cpp
changeset 5 627c4a0fd0e7
parent 3 11d3954df52a
child 6 c3690ec91ef8
equal deleted inserted replaced
3:11d3954df52a 5:627c4a0fd0e7
   228                 }
   228                 }
   229             }
   229             }
   230             break;
   230             break;
   231         }
   231         }
   232         case Qt::GestureFinished: {
   232         case Qt::GestureFinished: {
   233             HbWidgetFeedback::triggered(q, Hb::InstantReleased, 0);
       
   234 
       
   235             if (gesture->tapStyleHint() == HbTapGesture::Tap 
   233             if (gesture->tapStyleHint() == HbTapGesture::Tap 
   236                 || (mSharedData->mItemView
   234                 || (mSharedData->mItemView
   237                 && !mSharedData->mItemView->longPressEnabled())) {
   235                 && !mSharedData->mItemView->longPressEnabled())) {
   238                 setPressed(false, true);
   236                 setPressed(false, true);
   239 
   237 
       
   238                 HbWidgetFeedback::triggered(q, Hb::InstantReleased, 0);
   240                 HbWidgetFeedback::triggered(q, Hb::InstantClicked);
   239                 HbWidgetFeedback::triggered(q, Hb::InstantClicked);
   241                 QPointer<HbAbstractViewItem> item = q;
   240                 QPointer<HbAbstractViewItem> item = q;
   242                 emit item->activated(position);
   241                 emit item->activated(position);
   243                 // this viewItem may be deleted in the signal handling, so guarded pointer is used to 
   242                 // this viewItem may be deleted in the signal handling, so guarded pointer is used to 
   244                 // to ensure that the item still exists when item is used
   243                 // to ensure that the item still exists when item is used
   247                     if (item) {
   246                     if (item) {
   248                         revealItem();
   247                         revealItem();
   249                     }
   248                     }
   250                 }
   249                 }
   251             } else {
   250             } else {
       
   251                 HbWidgetFeedback::triggered(q, Hb::InstantReleased,0);
   252                 emit q->released(position);
   252                 emit q->released(position);
   253             }
   253             }
   254 
   254 
   255             break;
   255             break;
   256         }
   256         }
   257         case Qt::GestureCanceled: {
   257         case Qt::GestureCanceled: {
   258 
       
   259             // hides focus immediately
   258             // hides focus immediately
   260             setPressed(false, false);
   259             setPressed(false, false);
   261 
   260 
   262             emit q->released(position);
   261             emit q->released(position);
   263             break;
   262             break;
   284 
   283 
   285     if (pressed != mPressed) {
   284     if (pressed != mPressed) {
   286         mPressed = pressed;
   285         mPressed = pressed;
   287 
   286 
   288         if (mSharedData->mPressStateChangeTimer) {
   287         if (mSharedData->mPressStateChangeTimer) {
   289             mSharedData->mPressStateChangeTimer->stop();
   288             if(!pressed && animate && mSharedData->mPressStateChangeTimer->isActive()) {
       
   289                 // Release happened while press still delayed
       
   290                 mSharedData->mPressStateChangeTimer->stop();
       
   291                 mSharedData->pressStateChangeTimerTriggered();
       
   292             } else {
       
   293                 mSharedData->mPressStateChangeTimer->stop();
       
   294             }
   290         }
   295         }
   291 
   296 
   292         if (mPressed) {
   297         if (mPressed) {
   293             if (!mSharedData->mPressStateChangeTimer) {
   298             if (!mSharedData->mPressStateChangeTimer) {
   294                 mSharedData->mPressStateChangeTimer = new QTimer(mSharedData.data());
   299                 mSharedData->mPressStateChangeTimer = new QTimer(mSharedData.data());