diff -r 627c4a0fd0e7 -r c3690ec91ef8 src/hbinput/inputwidgets/hbinputvirtualrocker.cpp --- a/src/hbinput/inputwidgets/hbinputvirtualrocker.cpp Fri Jun 11 13:58:22 2010 +0300 +++ b/src/hbinput/inputwidgets/hbinputvirtualrocker.cpp Wed Jun 23 18:33:25 2010 +0300 @@ -22,6 +22,8 @@ ** Nokia at developer.feedback@nokia.com. ** ****************************************************************************/ +#include "hbinputvirtualrocker.h" + #include #include #include @@ -33,7 +35,6 @@ #include #include "hbinputvkbwidget.h" -#include "hbinputvirtualrocker.h" /// @cond @@ -49,37 +50,35 @@ class HbInputVirtualRockerPrivate { public: - explicit HbInputVirtualRockerPrivate(HbInputVirtualRocker *rocker, HbInputVkbWidget* parent = 0); + explicit HbInputVirtualRockerPrivate(HbInputVirtualRocker *rocker); ~HbInputVirtualRockerPrivate(); int rockerEventRepeats(qreal distance); void setCenter(); public: HbInputVirtualRocker *q_ptr; - HbIcon* mIconNormal; + HbIcon *mIconNormal; HbInputVirtualRocker::RockerSelectionMode mShifted; QPointF mLastPoint; QPointF mCenterPosition; QPointF mPointerPosition; QPointF mMousePressPoint; - HbInputVkbWidget* mKeyboard; bool mPressed; }; -HbInputVirtualRockerPrivate::HbInputVirtualRockerPrivate(HbInputVirtualRocker *rocker, HbInputVkbWidget* parent) - : q_ptr(rocker), - mIconNormal(0), - mShifted(HbInputVirtualRocker::RockerSelectionModeOff), - mLastPoint(0.0,0.0), - mCenterPosition(0.0,0.0), - mMousePressPoint(0.0,0.0), - mKeyboard(parent), - mPressed(false) -{ - mIconNormal = new HbIcon("qtg_graf_trackpoint_normal" ); - mIconNormal->setSize( QSizeF( HbIconWidth, HbIconWidth )); +HbInputVirtualRockerPrivate::HbInputVirtualRockerPrivate(HbInputVirtualRocker *rocker) + : q_ptr(rocker), + mIconNormal(0), + mShifted(HbInputVirtualRocker::RockerSelectionModeOff), + mLastPoint(0.0, 0.0), + mCenterPosition(0.0, 0.0), + mMousePressPoint(0.0, 0.0), + mPressed(false) +{ + mIconNormal = new HbIcon("qtg_graf_trackpoint_normal"); + mIconNormal->setSize(QSizeF(HbIconWidth, HbIconWidth)); - q_ptr->grabGesture(Qt::SwipeGesture); + q_ptr->grabGesture(Qt::SwipeGesture); q_ptr->grabGesture(Qt::TapGesture); q_ptr->grabGesture(Qt::PanGesture); } @@ -93,11 +92,11 @@ { // cursor move multiplier for cursor moving signals, depending on the rocker move speed int repeats = 1; - if (distance > 30){ + if (distance > 30) { repeats = 30; } else if (distance > 20) { repeats = 10; - } else if(distance > 10) { + } else if (distance > 10) { repeats = 2; } return repeats; @@ -105,12 +104,12 @@ void HbInputVirtualRockerPrivate::setCenter() { - if(mCenterPosition.isNull()){ - mCenterPosition.setX(q_ptr->pos().x()+HbRockerWidth/2); - mCenterPosition.setY(q_ptr->pos().y()+HbRockerWidth/2); + if (mCenterPosition.isNull()) { + mCenterPosition.setX(q_ptr->pos().x() + HbRockerWidth / 2); + mCenterPosition.setY(q_ptr->pos().y() + HbRockerWidth / 2); } - mPointerPosition.setX((HbRockerWidth - HbPointerWidth)/2); - mPointerPosition.setY((HbRockerWidth - HbPointerWidth)/2); + mPointerPosition.setX((HbRockerWidth - HbPointerWidth) / 2); + mPointerPosition.setY((HbRockerWidth - HbPointerWidth) / 2); } /// @endcond @@ -148,19 +147,21 @@ /*! Constructs the object. */ -HbInputVirtualRocker::HbInputVirtualRocker(HbInputVkbWidget* parent) - : HbWidget(parent), d_ptr(new HbInputVirtualRockerPrivate(this, parent)) +HbInputVirtualRocker::HbInputVirtualRocker(HbInputVkbWidget *parent) + : HbWidget(parent), d_ptr(new HbInputVirtualRockerPrivate(this)) { setOpacity(HbRockerDimOpacity); + setFlag(QGraphicsItem::ItemHasNoContents, false); } /*! Constructs the object. */ -HbInputVirtualRocker::HbInputVirtualRocker(HbInputVirtualRockerPrivate &dd, QGraphicsWidget* parent) +HbInputVirtualRocker::HbInputVirtualRocker(HbInputVirtualRockerPrivate &dd, QGraphicsWidget *parent) : HbWidget(parent), d_ptr(&dd) { setOpacity(HbRockerDimOpacity); + setFlag(QGraphicsItem::ItemHasNoContents, false); } /*! @@ -175,23 +176,21 @@ \reimp \sa QGraphicsWidget. */ -void HbInputVirtualRocker::mousePressEvent(QGraphicsSceneMouseEvent* event) +void HbInputVirtualRocker::mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_D(HbInputVirtualRocker); QPointF position = event->pos(); - QPointF delta = position - QPointF(HbRockerWidth/2, HbRockerWidth/2); + QPointF delta = position - QPointF(HbRockerWidth / 2, HbRockerWidth / 2); - qreal squareDistance = delta.y()*delta.y() + delta.x()*delta.x(); - qreal squareRadius = HbRockerWidth*HbRockerWidth/4; + qreal squareDistance = delta.y() * delta.y() + delta.x() * delta.x(); + qreal squareRadius = HbRockerWidth * HbRockerWidth / 4; if (squareRadius > squareDistance) { // the touch point is inside circle which diameter is HbRockerWidth d->setCenter(); d->mLastPoint = position; d->mMousePressPoint = position; - if (d->mKeyboard) { - d->mKeyboard->setKeyboardDimmed(true); - } + emit rockerDirection(HbRockerDirectionPress, d->mShifted); HbWidgetFeedback::triggered(this, Hb::InstantPressed); setOpacity(HbRockerNormalOpacity); d->mPressed = true; @@ -205,15 +204,13 @@ \reimp \sa QGraphicsWidget. */ -void HbInputVirtualRocker::mouseReleaseEvent(QGraphicsSceneMouseEvent* event) +void HbInputVirtualRocker::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) Q_D(HbInputVirtualRocker); - if (d->mKeyboard) { - d->mKeyboard->setKeyboardDimmed(false); - setOpacity(HbRockerDimOpacity); - } + emit rockerDirection(HbRockerDirectionRelease, d->mShifted); + setOpacity(HbRockerDimOpacity); d->mPressed = false; update(); d->setCenter(); @@ -225,7 +222,7 @@ \reimp \sa QGraphicsWidget. */ -void HbInputVirtualRocker::mouseMoveEvent(QGraphicsSceneMouseEvent* event) +void HbInputVirtualRocker::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { Q_D(HbInputVirtualRocker); @@ -237,13 +234,13 @@ HbWidgetFeedback::triggered(this, Hb::InstantDraggedOver); if (delta.x() > HbRockerXThreshold) { - repeats = d->rockerEventRepeats( delta.x() ); + repeats = d->rockerEventRepeats(delta.x()); for (int i = 0; i < repeats; i++) { emit rockerDirection(HbRockerDirectionRight, d->mShifted); } d->mLastPoint = event->pos(); } else if (delta.x() < -HbRockerXThreshold) { - repeats = d->rockerEventRepeats( -delta.x() ); + repeats = d->rockerEventRepeats(-delta.x()); for (int i = 0; i < repeats; i++) { emit rockerDirection(HbRockerDirectionLeft, d->mShifted); } @@ -260,7 +257,7 @@ } d->mPointerPosition = HbIconWidth * deltaPressLoc / d->mCenterPosition.x() / 2 - + QPointF((HbRockerWidth-HbPointerWidth)/2, (HbRockerWidth-HbPointerWidth)/2); + + QPointF((HbRockerWidth - HbPointerWidth) / 2, (HbRockerWidth - HbPointerWidth) / 2); update(); @@ -271,7 +268,7 @@ \reimp \sa QGraphicsWidget. */ -void HbInputVirtualRocker::mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) +void HbInputVirtualRocker::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) Q_D(HbInputVirtualRocker); @@ -282,10 +279,7 @@ d->mShifted = RockerSelectionModeOff; } - // dim the keypad. - if (d->mKeyboard) { - d->mKeyboard->setKeyboardDimmed(true); - } + emit rockerDirection(HbRockerDirectionDoubleClick, d->mShifted); setOpacity(HbRockerNormalOpacity); } @@ -293,7 +287,7 @@ \reimp \sa QGraphicsWidget. */ -void HbInputVirtualRocker::paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget) +void HbInputVirtualRocker::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option) Q_UNUSED(widget) @@ -334,7 +328,7 @@ void HbInputVirtualRocker::gestureEvent(QGestureEvent *event) { - Q_UNUSED (event); + Q_UNUSED(event); } // End of file