110 } |
111 } |
111 |
112 |
112 void HbScrollBarPrivate::init() |
113 void HbScrollBarPrivate::init() |
113 { |
114 { |
114 Q_Q(HbScrollBar); |
115 Q_Q(HbScrollBar); |
115 q->grabGesture(Qt::PanGesture); |
116 q->setFlag(QGraphicsItem::ItemHasNoContents, true); |
116 q->grabGesture(Qt::TapGesture); |
|
117 } |
117 } |
118 |
118 |
119 void HbScrollBarPrivate::createPrimitives() |
119 void HbScrollBarPrivate::createPrimitives() |
120 { |
120 { |
121 Q_Q(HbScrollBar); |
121 Q_Q(HbScrollBar); |
122 |
122 |
123 if ( !grooveItem ) { |
123 if ( !grooveItem ) { |
124 grooveItem = q->style()->createPrimitive( HbStyle::P_ScrollBar_groove, q ); |
124 grooveItem = HbStylePrivate::createPrimitive( HbStylePrivate::P_ScrollBar_groove, q ); |
125 grooveItem->setZValue(2); |
125 grooveItem->setZValue(2); |
126 HbStyle::setItemName( grooveItem, "groove" ); |
126 HbStyle::setItemName( grooveItem, "groove" ); |
127 } |
127 } |
128 |
128 |
129 if ( !handleItem ) { |
129 if ( !handleItem ) { |
130 handleItem = q->style()->createPrimitive( HbStyle::P_ScrollBar_handle, q ); |
130 handleItem = HbStylePrivate::createPrimitive( HbStylePrivate::P_ScrollBar_handle, q ); |
131 handleItem->setZValue(3); |
131 handleItem->setZValue(3); |
132 HbStyle::setItemName( handleItem, "handle" ); |
132 HbStyle::setItemName( handleItem, "handle" ); |
133 } |
133 } |
134 if( !mTouchArea ) { |
134 if( !mTouchArea ) { |
135 mTouchArea = q->style()->createPrimitive(HbStyle::P_ScrollBar_toucharea, q); |
135 mTouchArea = HbStylePrivate::createPrimitive(HbStylePrivate::P_ScrollBar_toucharea, q); |
136 } |
136 } |
137 q->updatePrimitives(); |
137 q->updatePrimitives(); |
138 } |
138 } |
139 |
139 |
140 void HbScrollBarPrivate::updatePosition() |
140 void HbScrollBarPrivate::updatePosition() |
315 void HbScrollBar::setInteractive( bool enabled ) |
315 void HbScrollBar::setInteractive( bool enabled ) |
316 { |
316 { |
317 Q_D( HbScrollBar ); |
317 Q_D( HbScrollBar ); |
318 if( d->mInteractive != enabled){ |
318 if( d->mInteractive != enabled){ |
319 d->mInteractive = enabled; |
319 d->mInteractive = enabled; |
|
320 if ( enabled ) { |
|
321 grabGesture(Qt::PanGesture); |
|
322 grabGesture(Qt::TapGesture); |
|
323 } else { |
|
324 ungrabGesture(Qt::PanGesture); |
|
325 ungrabGesture(Qt::TapGesture); |
|
326 } |
320 if(d->handleItem) { |
327 if(d->handleItem) { |
321 repolish(); |
328 repolish(); |
322 updatePrimitives(); |
329 updatePrimitives(); |
323 } |
330 } |
324 } |
331 } |
382 Q_D(HbScrollBar); |
389 Q_D(HbScrollBar); |
383 |
390 |
384 HbStyleOptionScrollBar option; |
391 HbStyleOptionScrollBar option; |
385 initStyleOption(&option); |
392 initStyleOption(&option); |
386 if (d->grooveItem) { |
393 if (d->grooveItem) { |
387 style()->updatePrimitive(d->grooveItem, HbStyle::P_ScrollBar_groove, &option); |
394 HbStylePrivate::updatePrimitive(d->grooveItem, HbStylePrivate::P_ScrollBar_groove, &option); |
388 } |
395 } |
389 if (d->handleItem) { |
396 if (d->handleItem) { |
390 style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &option); |
397 HbStylePrivate::updatePrimitive(d->handleItem, HbStylePrivate::P_ScrollBar_handle, &option); |
391 } |
398 } |
392 if( d->mTouchArea ) { |
399 if( d->mTouchArea ) { |
393 style()->updatePrimitive(d->mTouchArea, HbStyle::P_ScrollBar_toucharea, &option); |
400 HbStylePrivate::updatePrimitive(d->mTouchArea, HbStylePrivate::P_ScrollBar_toucharea, &option); |
394 } |
401 } |
395 } |
402 } |
396 |
403 |
397 /*! |
404 /*! |
398 \reimp |
405 \reimp |
446 |
453 |
447 d->repeatActionTimer.start(REPEATION_TIME, this); |
454 d->repeatActionTimer.start(REPEATION_TIME, this); |
448 } else { |
455 } else { |
449 HbWidgetFeedback::triggered(this, Hb::InstantPressed, Hb::ModifierSliderHandle); |
456 HbWidgetFeedback::triggered(this, Hb::InstantPressed, Hb::ModifierSliderHandle); |
450 initStyleOption(&opt); |
457 initStyleOption(&opt); |
451 style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &opt ); |
458 HbStylePrivate::updatePrimitive(d->handleItem, HbStylePrivate::P_ScrollBar_handle, &opt ); |
452 emit d->core.handlePressed(); |
459 emit d->core.handlePressed(); |
453 } |
460 } |
454 |
461 |
455 break; |
462 break; |
456 case Qt::Vertical: |
463 case Qt::Vertical: |
472 |
479 |
473 d->repeatActionTimer.start(REPEATION_TIME, this); |
480 d->repeatActionTimer.start(REPEATION_TIME, this); |
474 } else { |
481 } else { |
475 HbWidgetFeedback::triggered(this, Hb::InstantPressed, Hb::ModifierSliderHandle); |
482 HbWidgetFeedback::triggered(this, Hb::InstantPressed, Hb::ModifierSliderHandle); |
476 initStyleOption(&opt); |
483 initStyleOption(&opt); |
477 style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &opt ); |
484 HbStylePrivate::updatePrimitive(d->handleItem, HbStylePrivate::P_ScrollBar_handle, &opt ); |
478 emit d->core.handlePressed(); |
485 emit d->core.handlePressed(); |
479 } |
486 } |
480 |
487 |
481 break; |
488 break; |
482 } |
489 } |
499 d->mThumbPressed = false; |
506 d->mThumbPressed = false; |
500 HbWidgetFeedback::triggered(this, Hb::InstantReleased, Hb::ModifierSliderHandle); |
507 HbWidgetFeedback::triggered(this, Hb::InstantReleased, Hb::ModifierSliderHandle); |
501 emit valueChanged(value(), orientation()); |
508 emit valueChanged(value(), orientation()); |
502 emit d->core.handleReleased(); |
509 emit d->core.handleReleased(); |
503 initStyleOption(&opt); |
510 initStyleOption(&opt); |
504 style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &opt ); |
511 HbStylePrivate::updatePrimitive(d->handleItem, HbStylePrivate::P_ScrollBar_handle, &opt ); |
505 } else if (d->mGroovePressed){ |
512 } else if (d->mGroovePressed){ |
506 HbWidgetFeedback::triggered(this, Hb::InstantReleased); |
513 HbWidgetFeedback::triggered(this, Hb::InstantReleased); |
507 d->repeatActionTimer.stop(); |
514 d->repeatActionTimer.stop(); |
508 d->mGroovePressed = false; |
515 d->mGroovePressed = false; |
509 initStyleOption(&opt); |
516 initStyleOption(&opt); |
510 style()->updatePrimitive(d->grooveItem, HbStyle::P_ScrollBar_groove, &opt ); |
517 HbStylePrivate::updatePrimitive(d->grooveItem, HbStylePrivate::P_ScrollBar_groove, &opt ); |
511 } |
518 } |
512 d->emittedPos = false; |
519 d->emittedPos = false; |
513 event->accept(); |
520 event->accept(); |
514 } |
521 } |
515 |
522 |