diff -r 7516d6d86cf5 -r ed14f46c0e55 src/hbwidgets/sliders/hbsliderhandle.cpp --- a/src/hbwidgets/sliders/hbsliderhandle.cpp Mon Oct 04 17:49:30 2010 +0300 +++ b/src/hbwidgets/sliders/hbsliderhandle.cpp Mon Oct 18 18:23:13 2010 +0300 @@ -26,6 +26,7 @@ #include "hbsliderhandle_p.h" #include "hbslidercontrol_p.h" #include "hbslidercontrol_p_p.h" +#include "hbstyle_p.h" #include #include #include @@ -62,12 +63,12 @@ mHandleItem(0) { // create handle icon item - gItem = slider->style()->createPrimitive(HbStyle::P_Slider_thumb, this); + gItem = HbStylePrivate::createPrimitive(HbStylePrivate::P_Slider_thumb, this); HbStyle::setItemName(gItem , "icon"); setFiltersChildEvents(true) ; // create touch area for handle - touchItem = slider->style()->createPrimitive(HbStyle::P_SliderElement_touchhandle, this); + touchItem = HbStylePrivate::createPrimitive(HbStylePrivate::P_SliderElement_touchhandle, this); HbStyle::setItemName(touchItem , "toucharea"); setZValue(slider->zValue() + 1); @@ -106,9 +107,9 @@ */ HbSliderHandle::~HbSliderHandle() { - if(mHandleItem) { - mHandleItem->removeSceneEventFilter(this); - } + if(mHandleItem) { + mHandleItem->removeSceneEventFilter(this); + } } @@ -133,8 +134,8 @@ if( scene()){ if (true == sliderControl->isSliderDown()){ opt.state |= QStyle::State_Sunken; - sliderControl->style()->updatePrimitive( - sliderControl->primitive(HbStyle::P_Slider_groove), HbStyle::P_Slider_groove, &opt); + HbStylePrivate::updatePrimitive( + sliderControl->primitive((HbStyle::Primitive)HbStylePrivate::P_Slider_groove), HbStylePrivate::P_Slider_groove, &opt); } else { opt.state &= ~QStyle::State_Sunken; } @@ -143,24 +144,24 @@ } opt.boundingRect=boundingRect(); - sliderControl->style()->updatePrimitive(gItem, HbStyle::P_Slider_thumb, &opt); + HbStylePrivate::updatePrimitive(gItem, HbStylePrivate::P_Slider_thumb, &opt); } void HbSliderHandle::setHandleItem(QGraphicsItem *item) { - if(!item) { - return; - } - if(mHandleItem) { - delete mHandleItem; + if(!item) { + return; + } + if(mHandleItem) { + delete mHandleItem; mHandleItem =0; - } + } setHandlesChildEvents(false); mHandleItem = item; - mHandleItem->setParentItem(this); - sliderControl->style()->setItemName(mHandleItem,"widget"); + mHandleItem->setParentItem(this); + HbStyle::setItemName(mHandleItem,"widget"); //((QGraphicsWidget*)mHandleItem)->setGeometry(gItem->geometry());//TODO:geometry from css if(scene()) { @@ -193,7 +194,7 @@ bool HbSliderHandle::sceneEventFilter(QGraphicsItem *obj,QEvent *event) { //TODO: touch area does not work with the current filtering mechanism. find better solution - if( obj == mHandleItem) { + if( obj == mHandleItem) { if(event->type() == QEvent::GraphicsSceneMouseMove){ mouseMoveEvent ((QGraphicsSceneMouseEvent *) event) ; return true; @@ -204,12 +205,12 @@ mouseReleaseEvent((QGraphicsSceneMouseEvent *) event); return true; } - } + } if( obj == touchItem ) { if (!isEnabled() ) { return false; } - if (event->type() == QEvent::Gesture){ + if (event->type() == QEvent::Gesture){ gestureEvent( (QGestureEvent *) (event)); return true; } @@ -347,6 +348,7 @@ { if(HbTapAndHoldGesture *tapandHold= qobject_cast(event->gesture(Qt::TapAndHoldGesture))) { if(tapandHold->state() == Qt::GestureStarted) { + sliderControl->setToolTip(QString::number(sliderControl->sliderPosition())); sliderControl->showToolTip(); } } @@ -414,8 +416,8 @@ #endif sliderBounds.adjust(0, 0, -handleBounds.width(), 0); span = sliderBounds.width(); - sliderPos = relativePos.rx(); - sliderPos-=handleBounds.width()/2; + sliderPos = static_cast(relativePos.x()); + sliderPos-= static_cast(handleBounds.width()/2); } else { #ifdef HB_EFFECTS if( sliderBounds.topLeft().y() > relativePos.ry() || @@ -425,13 +427,14 @@ #endif sliderBounds.adjust(0, 0, 0, -handleBounds.height()); span = sliderBounds.height(); - sliderPos = relativePos.ry(); - sliderPos -= handleBounds.height() / 2; + sliderPos = static_cast(relativePos.y()); + sliderPos -= static_cast(handleBounds.height()/2); } int pressValue= QStyle::sliderValueFromPosition(opt.minimum, opt.maximum, sliderPos, static_cast(span),opt.upsideDown); sliderControl->setSliderPosition(pressValue); + sliderControl->setToolTip(QString::number(pressValue)); sliderControl->showToolTip(); break; } @@ -474,8 +477,8 @@ if( scene()){ if (true == sliderControl->isSliderDown()){ opt.state |= QStyle::State_Sunken; - sliderControl->style()->updatePrimitive( - sliderControl->primitive(HbStyle::P_Slider_groove), HbStyle::P_Slider_groove, &opt); + HbStylePrivate::updatePrimitive( + sliderControl->primitive((HbStyle::Primitive)HbStylePrivate::P_Slider_groove), HbStylePrivate::P_Slider_groove, &opt); } else { opt.state &= ~QStyle::State_Sunken; } @@ -484,8 +487,8 @@ } opt.boundingRect=boundingRect(); - sliderControl->style()->updatePrimitive(gItem, HbStyle::P_Slider_thumb, &opt); - sliderControl->style()->updatePrimitive(touchItem , HbStyle::P_SliderElement_touchhandle ,&opt); + HbStylePrivate::updatePrimitive(gItem, HbStylePrivate::P_Slider_thumb, &opt); + HbStylePrivate::updatePrimitive(touchItem , HbStylePrivate::P_SliderElement_touchhandle ,&opt); sliderControl->update(boundingRect()); } @@ -496,9 +499,9 @@ QGraphicsItem * HbSliderHandle::primitive(HbStyle::Primitive primitive) const { switch (primitive) { - case HbStyle::P_Slider_thumb: + case HbStylePrivate::P_Slider_thumb: return gItem; - case HbStyle::P_SliderElement_touchhandle: + case HbStylePrivate::P_SliderElement_touchhandle: return touchItem; default: return NULL;