src/hbplugins/feedback/feedbackeffectplugin/hbfeedbackeffectutils.cpp
changeset 3 11d3954df52a
parent 2 06ff229162e9
child 5 627c4a0fd0e7
equal deleted inserted replaced
2:06ff229162e9 3:11d3954df52a
   277             effect = HbFeedback::SensitiveItem;
   277             effect = HbFeedback::SensitiveItem;
   278             break;
   278             break;
   279 
   279 
   280         case HbFeedbackEffectUtils::Slider:
   280         case HbFeedbackEffectUtils::Slider:
   281 
   281 
   282             // slider area
   282             // slider track default
   283             effect = HbFeedback::None;
   283             effect = HbFeedback::SensitiveSlider;
       
   284 
       
   285             // special cases
   284             if (const HbProgressSlider *progressSlider = qobject_cast<const HbProgressSlider *>(widget)) {
   286             if (const HbProgressSlider *progressSlider = qobject_cast<const HbProgressSlider *>(widget)) {
   285                 Q_UNUSED(progressSlider)
   287                 Q_UNUSED(progressSlider)
   286                 effect = HbFeedback::BasicSlider;
   288                 effect = HbFeedback::BasicSlider;
   287             } else if (const HbScrollBar *scrollBar = qobject_cast<const HbScrollBar *>(widget)) {
   289             } else if (const HbScrollBar *scrollBar = qobject_cast<const HbScrollBar *>(widget)) {
   288                 Q_UNUSED(scrollBar)
   290                 Q_UNUSED(scrollBar)
   316 
   318 
   317         default:
   319         default:
   318             break;
   320             break;
   319     }
   321     }
   320 
   322 
   321     if (widget->type() == Hb::ItemType_MenuItem) {
       
   322         if (modifiers & Hb::ModifierScrolling) {
       
   323             effect = HbFeedback::StopFlick;
       
   324         }
       
   325     }
       
   326     // item view specific special cases
   323     // item view specific special cases
   327     if ( const HbAbstractViewItem * viewItem = qobject_cast<const HbAbstractViewItem *>(widget)) {
   324     if ( const HbAbstractViewItem * viewItem = qobject_cast<const HbAbstractViewItem *>(widget)) {
   328         const HbAbstractItemView* itemView = viewItem->itemView();
   325         const HbAbstractItemView* itemView = viewItem->itemView();
   329         if (itemView) {
   326         if (itemView) {
   330             // checkable item is checked with a press
   327             // checkable item is checked with a press
   331             switch (itemView->selectionMode()) {
   328             switch (itemView->selectionMode()) {
   332                 case HbAbstractItemView::SingleSelection:
   329                 case HbAbstractItemView::SingleSelection:
   333                 case HbAbstractItemView::MultiSelection: {
   330                 case HbAbstractItemView::MultiSelection: {
   334                     effect = HbFeedback::None;
   331                     effect = HbFeedback::SensitiveItem;
   335                     break;
   332                     break;
   336                 }
   333                 }
   337                 case HbAbstractItemView::NoSelection:
   334                 case HbAbstractItemView::NoSelection:
   338                     if (const HbListView * listView = qobject_cast<const HbListView *>(itemView)) {
   335                     if (const HbListView * listView = qobject_cast<const HbListView *>(itemView)) {
   339                         if (listView->arrangeMode()
   336                         if (listView->arrangeMode()
   361                 }
   358                 }
   362                 else {
   359                 else {
   363                     effect = HbFeedback::SensitiveItem;
   360                     effect = HbFeedback::SensitiveItem;
   364                 }
   361                 }
   365             }
   362             }
   366 
       
   367             if (modifiers & Hb::ModifierScrolling) {
       
   368                 effect = HbFeedback::StopFlick;
       
   369             }
       
   370         }
   363         }
   371     }
   364     }
   372     if (widget->type() == Hb::ItemType_VirtualTrackPoint) {
   365     if (modifiers & Hb::ModifierScrolling) {
   373         effect = HbFeedback::Editor;
   366         effect = HbFeedback::StopFlick;
   374     }
   367     }
   375 
   368 
   376     return effect;
   369     return effect;
   377 }
   370 }
   378 
   371 
   456             effect = HbFeedback::SensitiveItem;
   449             effect = HbFeedback::SensitiveItem;
   457             break;
   450             break;
   458  
   451  
   459          case HbFeedbackEffectUtils::Slider:
   452          case HbFeedbackEffectUtils::Slider:
   460 
   453 
   461             // slider area
   454             // slider track default
   462              effect = HbFeedback::None;
   455              effect = HbFeedback::SensitiveSlider;
   463 
   456 
   464             // slider handle
   457             // slider handle
   465             if (modifiers & Hb::ModifierSliderHandle) {
   458             if (modifiers & Hb::ModifierSliderHandle) {
   466                 effect = HbFeedback::SensitiveSlider;
   459                 effect = HbFeedback::SensitiveSlider;
   467             }
   460             }
   471                 effect = HbFeedback::SensitiveButton;
   464                 effect = HbFeedback::SensitiveButton;
   472             }
   465             }
   473             break;
   466             break;
   474 
   467 
   475         case HbFeedbackEffectUtils::Editor:
   468         case HbFeedbackEffectUtils::Editor:
   476             effect = HbFeedback::Editor;
   469             effect = HbFeedback::None;
   477             break;
   470             break;
   478 
   471 
   479         default:
   472         default:
   480             break;
   473             break;
   481     }
   474     }
   521             if (modifiers & Hb::ModifierExpandedItem || modifiers & Hb::ModifierCollapsedItem) {
   514             if (modifiers & Hb::ModifierExpandedItem || modifiers & Hb::ModifierCollapsedItem) {
   522                 effect = HbFeedback::BasicItem;
   515                 effect = HbFeedback::BasicItem;
   523             }
   516             }
   524         }
   517         }
   525     }
   518     }
       
   519 
       
   520     if (widget->type() == Hb::ItemType_VirtualTrackPoint) {
       
   521         effect = HbFeedback::Editor;
       
   522     }
       
   523 
   526     return effect;
   524     return effect;
   527 }
   525 }
   528 
   526 
   529 /*!
   527 /*!
   530     Returns the instant feedback effect on key repeat interaction.
   528     Returns the instant feedback effect on key repeat interaction.
   702 /*!
   700 /*!
   703     Returns the instant feedback effect on selection changed events.
   701     Returns the instant feedback effect on selection changed events.
   704 */
   702 */
   705 HbFeedback::InstantEffect HbFeedbackEffectUtils::instantOnSelectionChanged(const HbWidget *widget, Hb::InteractionModifiers modifiers)
   703 HbFeedback::InstantEffect HbFeedbackEffectUtils::instantOnSelectionChanged(const HbWidget *widget, Hb::InteractionModifiers modifiers)
   706 {
   704 {
       
   705     Q_UNUSED(modifiers);
   707     HbFeedback::InstantEffect effect = HbFeedback::None;
   706     HbFeedback::InstantEffect effect = HbFeedback::None;
   708 
   707 
   709     if ( const HbAbstractViewItem * viewItem = qobject_cast<const HbAbstractViewItem *>(widget)) {
   708     if (const HbAbstractViewItem * viewItem = qobject_cast<const HbAbstractViewItem *>(widget)) {
   710         const HbAbstractItemView* itemView = viewItem->itemView();
   709         const HbAbstractItemView* itemView = viewItem->itemView();
   711         if (itemView) {
   710         if (itemView) {
   712             switch (itemView->selectionMode()) {
   711             switch (itemView->selectionMode()) {
   713                 case HbAbstractItemView::SingleSelection: {
   712                 case HbAbstractItemView::SingleSelection: {
   714                     // Single selection is handled with a release
   713                     // Single selection is handled with a release
   720                     break;
   719                     break;
   721                 }
   720                 }
   722                 default:
   721                 default:
   723                     break;
   722                     break;
   724             }
   723             }
   725             if (modifiers == Hb::ModifierScrolling) {
       
   726                 effect = HbFeedback::StopFlick;
       
   727             }
       
   728 		}
   724 		}
   729 	}
   725 	}
   730 
   726     return effect;
   731         return effect;
       
   732 }
   727 }
   733 
   728 
   734 /*!
   729 /*!
   735     Returns the instant continuous feedback effect for a continuous interaction.
   730     Returns the instant continuous feedback effect for a continuous interaction.
   736 */
   731 */