--- 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;