src/hbcore/gui/hbscrollbar.cpp
changeset 1 f7ac710697a9
parent 0 16d8024aca5e
child 2 06ff229162e9
--- a/src/hbcore/gui/hbscrollbar.cpp	Mon Apr 19 14:02:13 2010 +0300
+++ b/src/hbcore/gui/hbscrollbar.cpp	Mon May 03 12:48:33 2010 +0300
@@ -95,6 +95,9 @@
 
 void HbScrollBarPrivate::init()
 {
+    Q_Q(HbScrollBar);
+    q->grabGesture(Qt::PanGesture);
+    q->grabGesture(Qt::TapGesture);
 }
 
 void HbScrollBarPrivate::createPrimitives()
@@ -210,8 +213,6 @@
     Q_D(HbScrollBar);
     d->q_ptr = this;
     d->init();
-    grabGesture(Qt::TapGesture);
-    grabGesture(Qt::PanGesture);
 }
 
 /*!
@@ -328,12 +329,9 @@
 */
 void HbScrollBar::setValue( qreal value )
 {
-    Q_D(HbScrollBar);
-    if( value < 0.0 || value > 1.0 ) {
-        qWarning( "HbScrollBar::setValue(%f) out of range 0.0-1.0", value );
-        return;
-    }
+    Q_D(HbScrollBar);        
 
+    value = qBound(static_cast<qreal>(0.0), value, static_cast<qreal>(1.0));
     if( !qFuzzyCompare(d->mCurrentPosition,value )) {
         d->mCurrentPosition = value;
         d->updatePosition();
@@ -351,10 +349,7 @@
 void HbScrollBar::setPageSize( qreal size )
 {
     Q_D(HbScrollBar);
-    if( size < 0.0 || size > 1.0 ) {
-        qWarning( "HbScrollBar::setPageSize(%f) out of range 0.0-1.0", size );
-        return;
-    }
+    size = qBound(static_cast<qreal>(0.0), size, static_cast<qreal>(1.0));
 
     if(!qFuzzyCompare(d->mPageSize,size)) {
         d->mPageSize = size;
@@ -451,6 +446,7 @@
             HbWidgetFeedback::triggered(this, Hb::InstantPressed, Hb::ModifierSliderHandle);
             initStyleOption(&opt);
             style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &opt );
+            emit d->core.handlePressed();
         }
 
         break;
@@ -476,6 +472,7 @@
             HbWidgetFeedback::triggered(this, Hb::InstantPressed, Hb::ModifierSliderHandle);
             initStyleOption(&opt);
             style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &opt );
+            emit d->core.handlePressed();
         }
 
         break;
@@ -499,6 +496,7 @@
         d->mThumbPressed = false;
         HbWidgetFeedback::triggered(this, Hb::InstantReleased, Hb::ModifierSliderHandle);
         emit valueChanged(value(), orientation());
+        emit d->core.handleReleased();
         initStyleOption(&opt);
         style()->updatePrimitive(d->handleItem, HbStyle::P_ScrollBar_handle, &opt );
     } else if (d->mGroovePressed){