diff -r c3690ec91ef8 -r 923ff622b8b9 src/hbinput/inputwidgets/hbinputvirtualrocker.cpp --- a/src/hbinput/inputwidgets/hbinputvirtualrocker.cpp Wed Jun 23 18:33:25 2010 +0300 +++ b/src/hbinput/inputwidgets/hbinputvirtualrocker.cpp Tue Jul 06 14:36:53 2010 +0300 @@ -43,9 +43,9 @@ const qreal HbRockerDimOpacity = 1.0; const qreal HbRockerNormalOpacity = 1.0; const qreal HbRockerWidth = 50.0; -const int HbIconWidth = 30; -const int HbPointerWidth = 15; - +const qreal HbNormalSizeInUnits = 5; +const qreal HbPressedSizeInUnits = 9.5; +const qreal HbActivatedSizeInUnits = 9.5; class HbInputVirtualRockerPrivate { @@ -53,30 +53,28 @@ explicit HbInputVirtualRockerPrivate(HbInputVirtualRocker *rocker); ~HbInputVirtualRockerPrivate(); int rockerEventRepeats(qreal distance); - void setCenter(); public: HbInputVirtualRocker *q_ptr; - HbIcon *mIconNormal; + HbIcon mIconNormal; + HbIcon mIconPressed; + HbIcon mIconActivated; HbInputVirtualRocker::RockerSelectionMode mShifted; QPointF mLastPoint; - QPointF mCenterPosition; - QPointF mPointerPosition; QPointF mMousePressPoint; bool mPressed; }; 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)); + mIconNormal = HbIcon("qtg_graf_trackpoint_normal" ); + mIconPressed = HbIcon("qtg_graf_trackpoint_pressed" ); + mIconActivated = HbIcon("qtg_graf_trackpoint_activated" ); q_ptr->grabGesture(Qt::SwipeGesture); q_ptr->grabGesture(Qt::TapGesture); @@ -85,7 +83,6 @@ HbInputVirtualRockerPrivate::~HbInputVirtualRockerPrivate() { - delete mIconNormal; } int HbInputVirtualRockerPrivate::rockerEventRepeats(qreal distance) @@ -102,16 +99,6 @@ return repeats; } -void HbInputVirtualRockerPrivate::setCenter() -{ - 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); -} - /// @endcond /*! @@ -145,26 +132,33 @@ */ /*! +\deprecated HbInputVirtualRocker::HbInputVirtualRocker(HbInputVkbWidget*) + is deprecated. + Constructs the object. */ HbInputVirtualRocker::HbInputVirtualRocker(HbInputVkbWidget *parent) : HbWidget(parent), d_ptr(new HbInputVirtualRockerPrivate(this)) { setOpacity(HbRockerDimOpacity); - setFlag(QGraphicsItem::ItemHasNoContents, false); } /*! +\deprecated HbInputVirtualRocker::HbInputVirtualRocker(HbInputVirtualRockerPrivate&, QGraphicsWidget*) + is deprecated. + Constructs the object. */ HbInputVirtualRocker::HbInputVirtualRocker(HbInputVirtualRockerPrivate &dd, QGraphicsWidget *parent) : HbWidget(parent), d_ptr(&dd) { setOpacity(HbRockerDimOpacity); - setFlag(QGraphicsItem::ItemHasNoContents, false); } /*! +\deprecated HbInputVirtualRocker::~HbInputVirtualRocker() + is deprecated. + Destroys the widget. */ HbInputVirtualRocker::~HbInputVirtualRocker() @@ -173,8 +167,8 @@ } /*! - \reimp - \sa QGraphicsWidget. +\deprecated HbInputVirtualRocker::mousePressEvent(QGraphicsSceneMouseEvent*) + is deprecated. */ void HbInputVirtualRocker::mousePressEvent(QGraphicsSceneMouseEvent *event) { @@ -187,7 +181,6 @@ 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; emit rockerDirection(HbRockerDirectionPress, d->mShifted); @@ -201,8 +194,8 @@ } /*! - \reimp - \sa QGraphicsWidget. +\deprecated HbInputVirtualRocker::mouseReleaseEvent(QGraphicsSceneMouseEvent*) + is deprecated. */ void HbInputVirtualRocker::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { @@ -213,14 +206,13 @@ setOpacity(HbRockerDimOpacity); d->mPressed = false; update(); - d->setCenter(); d->mShifted = RockerSelectionModeOff; HbWidgetFeedback::triggered(this, Hb::InstantReleased); } /*! - \reimp - \sa QGraphicsWidget. +\deprecated HbInputVirtualRocker::mouseMoveEvent(QGraphicsSceneMouseEvent*) + is deprecated. */ void HbInputVirtualRocker::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { @@ -255,18 +247,13 @@ emit rockerDirection(HbRockerDirectionUp, d->mShifted); d->mLastPoint = event->pos(); } - - d->mPointerPosition = HbIconWidth * deltaPressLoc / d->mCenterPosition.x() / 2 - + QPointF((HbRockerWidth - HbPointerWidth) / 2, (HbRockerWidth - HbPointerWidth) / 2); - update(); - } } /*! - \reimp - \sa QGraphicsWidget. +\deprecated HbInputVirtualRocker::mouseDoubleClickEvent(QGraphicsSceneMouseEvent*) + is deprecated. */ void HbInputVirtualRocker::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) { @@ -284,8 +271,8 @@ } /*! - \reimp - \sa QGraphicsWidget. +\deprecated HbInputVirtualRocker::paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*) + is deprecated. */ void HbInputVirtualRocker::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { @@ -295,30 +282,22 @@ painter->setRenderHint(QPainter::Antialiasing, true); - if (d->mIconNormal && - !d->mIconNormal->isNull()) { - // We have icon, lets draw it. - - d->mIconNormal->paint(painter, rect(), Qt::IgnoreAspectRatio); - if (d->mPressed) { - painter->setBrush(Qt::blue); - painter->setPen(Qt::blue); - painter->drawEllipse(static_cast(d->mPointerPosition.x()), - static_cast(d->mPointerPosition.y()), - HbPointerWidth, HbPointerWidth); - } - + qreal unitValue = HbDeviceProfile::profile(mainWindow()).unitValue(); + if (selectionMode() == RockerSelectionModeOn) { + d->mIconActivated.setSize(QSizeF(HbActivatedSizeInUnits * unitValue, HbActivatedSizeInUnits * unitValue)); + d->mIconActivated.paint(painter, rect()); + } else if (d->mPressed) { + d->mIconPressed.setSize(QSizeF(HbPressedSizeInUnits * unitValue, HbPressedSizeInUnits * unitValue)); + d->mIconPressed.paint(painter, rect()); } else { - // Otherwise just draw a white ellipse as a fallback. - painter->setBrush(Qt::white); - painter->setPen(Qt::white); - painter->drawEllipse(boundingRect()); + d->mIconNormal.setSize(QSizeF(HbNormalSizeInUnits * unitValue, HbNormalSizeInUnits * unitValue)); + d->mIconNormal.paint(painter, rect()); } } /*! -Returns true if virtual rocker is in selection state, ie. it sends event with shift modifier -on. +\deprecated HbInputVirtualRocker::selectionMode() const + is deprecated. */ HbInputVirtualRocker::RockerSelectionMode HbInputVirtualRocker::selectionMode() const { @@ -326,6 +305,10 @@ return d->mShifted; } +/*! +\deprecated HbInputVirtualRocker::gestureEvent(QGestureEvent*) + is deprecated. +*/ void HbInputVirtualRocker::gestureEvent(QGestureEvent *event) { Q_UNUSED(event);