src/hbplugins/feedback/feedbackeffectplugin/hbfeedbackeffectengine.cpp
changeset 21 4633027730f5
parent 7 923ff622b8b9
child 23 e6ad4ef83b23
--- a/src/hbplugins/feedback/feedbackeffectplugin/hbfeedbackeffectengine.cpp	Tue Jul 06 14:36:53 2010 +0300
+++ b/src/hbplugins/feedback/feedbackeffectplugin/hbfeedbackeffectengine.cpp	Wed Aug 18 10:05:37 2010 +0300
@@ -388,12 +388,26 @@
         cancelContinuousFeedback(widget);
     }
 
-    if(widgetOverridesEffect( widget, interaction)) {
+    if(widgetOverridesEffect(widget, interaction)) {
         effect = overrider.newInstantEffect;
-    } else {
+    }
+    else {
         effect = HbFeedbackEffectUtils::instantOnRelease(widget, modifiers());
     }
 
+    // Lists in arrange mode do not react on click
+    if (const HbListViewItem *listViewItem = qobject_cast<const HbListViewItem *>(widget)) {
+        const HbAbstractItemView* itemView = listViewItem->itemView();
+        if (const HbListView * listView = qobject_cast<const HbListView *>(itemView)) {
+            if(listView->arrangeMode()) {
+                effect = HbFeedback::None;
+            }
+        }
+    }
+    else if (widget->type() == HbPrivate::ItemType_IndicatorButton) {
+        effect = HbFeedback::None;
+    }
+
     if(widgetOverridesModalities(widget,interaction)) {
         modalities = overrider.newModalities ;
     } else  {
@@ -621,7 +635,7 @@
 }
 
 /*
-    Called by the feedback manager when multitouch is activated.
+    Called by the feedback manager when a touch gesture with more than one finger is detected.
 */
 void HbFeedbackEffectEngine::multitouchActivated(const HbWidget *widget)
 {
@@ -711,7 +725,10 @@
             if (widget->type() == HbPrivate::ItemType_MenuListView) {
                 feedbackPlayed = true;
             }
-            if(widget->type() == Hb::ItemType_TumbleView)
+            if(widget->type() == Hb::ItemType_TumbleView
+                // The condition below should be a temporary fix until the date picker widget returns a
+                // more specific item type that the current ItemType_HbWidget
+                || QString(widget->metaObject()->className()) == "HbDatePickerView")
             {
                 if (const HbAbstractItemView * itemView = qobject_cast<const HbAbstractItemView *>(widget)) {
                     feedbackPlayed = true;