--- a/src/hbcore/gui/hbscrollbar.cpp Tue Jul 06 14:36:53 2010 +0300
+++ b/src/hbcore/gui/hbscrollbar.cpp Wed Aug 18 10:05:37 2010 +0300
@@ -100,6 +100,7 @@
mTouchArea(0),
mLimitingFactor(0.0),
mTopLeft(0.0),
+ hasEffects(false),
lastEmittedPos(QPointF()),
emittedPos(false)
{
@@ -112,8 +113,7 @@
void HbScrollBarPrivate::init()
{
Q_Q(HbScrollBar);
- q->grabGesture(Qt::PanGesture);
- q->grabGesture(Qt::TapGesture);
+ q->setFlag(QGraphicsItem::ItemHasNoContents, true);
}
void HbScrollBarPrivate::createPrimitives()
@@ -121,18 +121,18 @@
Q_Q(HbScrollBar);
if ( !grooveItem ) {
- grooveItem = q->style()->createPrimitive( HbStyle::P_ScrollBar_groove, q );
+ grooveItem = HbStylePrivate::createPrimitive( HbStylePrivate::P_ScrollBar_groove, q );
grooveItem->setZValue(2);
HbStyle::setItemName( grooveItem, "groove" );
}
if ( !handleItem ) {
- handleItem = q->style()->createPrimitive( HbStyle::P_ScrollBar_handle, q );
+ handleItem = HbStylePrivate::createPrimitive( HbStylePrivate::P_ScrollBar_handle, q );
handleItem->setZValue(3);
HbStyle::setItemName( handleItem, "handle" );
}
if( !mTouchArea ) {
- mTouchArea = q->style()->createPrimitive(HbStyle::P_ScrollBar_toucharea, q);
+ mTouchArea = HbStylePrivate::createPrimitive(HbStylePrivate::P_ScrollBar_toucharea, q);
}
q->updatePrimitives();
}
@@ -317,6 +317,13 @@
Q_D( HbScrollBar );
if( d->mInteractive != enabled){
d->mInteractive = enabled;
+ if ( enabled ) {
+ grabGesture(Qt::PanGesture);
+ grabGesture(Qt::TapGesture);
+ } else {
+ ungrabGesture(Qt::PanGesture);
+ ungrabGesture(Qt::TapGesture);
+ }
if(d->handleItem) {
repolish();
updatePrimitives();
@@ -384,13 +391,13 @@
HbStyleOptionScrollBar option;
initStyleOption(&option);
if (d->grooveItem) {
- style()->updatePrimitive(d->grooveItem, HbStyle::P_ScrollBar_groove, &option);
+ HbStylePrivate::updatePrimitive(d->grooveItem, HbStylePrivate::P_ScrollBar_groove, &option);
}
if (d->handleItem) {
- style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &option);
+ HbStylePrivate::updatePrimitive(d->handleItem, HbStylePrivate::P_ScrollBar_handle, &option);
}
if( d->mTouchArea ) {
- style()->updatePrimitive(d->mTouchArea, HbStyle::P_ScrollBar_toucharea, &option);
+ HbStylePrivate::updatePrimitive(d->mTouchArea, HbStylePrivate::P_ScrollBar_toucharea, &option);
}
}
@@ -448,7 +455,7 @@
} else {
HbWidgetFeedback::triggered(this, Hb::InstantPressed, Hb::ModifierSliderHandle);
initStyleOption(&opt);
- style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &opt );
+ HbStylePrivate::updatePrimitive(d->handleItem, HbStylePrivate::P_ScrollBar_handle, &opt );
emit d->core.handlePressed();
}
@@ -474,7 +481,7 @@
} else {
HbWidgetFeedback::triggered(this, Hb::InstantPressed, Hb::ModifierSliderHandle);
initStyleOption(&opt);
- style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &opt );
+ HbStylePrivate::updatePrimitive(d->handleItem, HbStylePrivate::P_ScrollBar_handle, &opt );
emit d->core.handlePressed();
}
@@ -501,13 +508,13 @@
emit valueChanged(value(), orientation());
emit d->core.handleReleased();
initStyleOption(&opt);
- style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &opt );
+ HbStylePrivate::updatePrimitive(d->handleItem, HbStylePrivate::P_ScrollBar_handle, &opt );
} else if (d->mGroovePressed){
HbWidgetFeedback::triggered(this, Hb::InstantReleased);
d->repeatActionTimer.stop();
d->mGroovePressed = false;
initStyleOption(&opt);
- style()->updatePrimitive(d->grooveItem, HbStyle::P_ScrollBar_groove, &opt );
+ HbStylePrivate::updatePrimitive(d->grooveItem, HbStylePrivate::P_ScrollBar_groove, &opt );
}
d->emittedPos = false;
event->accept();