--- a/src/hbplugins/feedback/feedbackeffectplugin/hbfeedbackeffectutils.cpp Tue Jul 06 14:36:53 2010 +0300
+++ b/src/hbplugins/feedback/feedbackeffectplugin/hbfeedbackeffectutils.cpp Wed Aug 18 10:05:37 2010 +0300
@@ -64,11 +64,11 @@
*/
int HbFeedbackEffectUtils::parentItemType(const HbWidget *widget)
{
- int graphicsItemType = 0;
- if (const HbWidget *parent = dynamic_cast<const HbWidget *>(widget->parentItem())) {
- graphicsItemType = parent->type();
- }
- return graphicsItemType;
+ QGraphicsItem *parent = widget->parentItem();
+ if(parent)
+ return parent->type();
+ else
+ return 0;
}
/*!
@@ -268,6 +268,11 @@
effect = HbFeedback::None;
}
}
+
+ if (widget->type() == Hb::ItemType_ComboBox) {
+ effect = HbFeedback::BasicButton;
+ }
+
break;
case HbFeedbackEffectUtils::List:
@@ -277,13 +282,10 @@
else {
effect = HbFeedback::BasicItem;
}
- if (widget->type() == Hb::ItemType_DataFormViewItem) {
- effect = HbFeedback::SensitiveItem;
- }
- else if (widget->type() == HbPrivate::ItemType_DataGroup) {
+ if (widget->type() == Hb::ItemType_DataFormViewItem ||
+ widget->type() == HbPrivate::ItemType_DataGroup) {
effect = HbFeedback::None;
}
-
break;
case HbFeedbackEffectUtils::Grid:
@@ -326,7 +328,14 @@
break;
case HbFeedbackEffectUtils::Editor:
- effect = HbFeedback::Editor;
+ if (const HbAbstractEdit* editor = qobject_cast<const HbAbstractEdit *>(widget)) {
+ if(editor->isReadOnly() && (Hb::TextCursorHidden == editor->cursorVisibility())) {
+ // cannot edit nor select
+ effect = HbFeedback::None;
+ } else {
+ effect = HbFeedback::Editor;
+ }
+ }
break;
default:
@@ -360,7 +369,8 @@
if (viewItem->type() == Hb::ItemType_RadioButtonListViewItem) {
effect = HbFeedback::BasicItem;
}
- else if(viewItem->type() == Hb::ItemType_TumbleViewItem ) {
+ else if(viewItem->type() == Hb::ItemType_DatePickerViewItem ||
+ viewItem->type() == Hb::ItemType_TumbleViewItem) {
effect = HbFeedback::BasicItem;
}
@@ -373,6 +383,10 @@
effect = HbFeedback::BasicItem;
}
}
+ // Combo box drop down list
+ if (QString(widget->metaObject()->className()) == "HbComboListViewItem") {
+ effect = HbFeedback::BasicItem;
+ }
}
}
@@ -468,6 +482,7 @@
else if (widget->type() == Hb::ItemType_DataFormViewItem) {
effect = HbFeedback::None;
}
+
break;
case HbFeedbackEffectUtils::Grid:
@@ -532,7 +547,8 @@
if (viewItem->type() == Hb::ItemType_RadioButtonListViewItem) {
effect = HbFeedback::Checkbox;
}
- else if(viewItem->type() == Hb::ItemType_TumbleViewItem ) {
+ else if(viewItem->type() == Hb::ItemType_DatePickerViewItem ||
+ viewItem->type() == Hb::ItemType_TumbleViewItem) {
effect = HbFeedback::BasicItem;
}
else if (widget->type() == Hb::ItemType_NotificationDialog) {
@@ -542,6 +558,11 @@
if (modifiers & Hb::ModifierExpandedItem || modifiers & Hb::ModifierCollapsedItem) {
effect = HbFeedback::BasicItem;
}
+
+ // Combo box drop down list
+ if (QString(widget->metaObject()->className()) == "HbComboListViewItem") {
+ effect = HbFeedback::BasicItem;
+ }
}
}
@@ -567,7 +588,7 @@
// input widget special case
if (widget->type() == Hb::ItemType_InputButtonGroup && modifiers & Hb::ModifierInputFunctionButton) {
- effect = HbFeedback::BasicKeypad;
+ effect = HbFeedback::SensitiveKeypad;
}
else if (widget->type() == Hb::ItemType_InputButtonGroup) {
effect = HbFeedback::SensitiveKeypad;