--- a/src/hbcore/primitives/hbslidertrackitem.cpp Thu Sep 02 20:44:51 2010 +0300
+++ b/src/hbcore/primitives/hbslidertrackitem.cpp Fri Sep 17 08:32:10 2010 +0300
@@ -37,6 +37,7 @@
maskWidth = 0;
trackSpan = 0;
setMask = true;
+ handleRect = QRectF();
}
HbSliderTrackItem::HbSliderTrackItem(HbFrameDrawer *drawer, QGraphicsItem *parent)
@@ -48,6 +49,7 @@
maskWidth = 0;
trackSpan = 0;
setMask = true;
+ handleRect = QRectF();
}
void HbSliderTrackItem::setMinimum(int min)
@@ -106,6 +108,11 @@
}
}
+void HbSliderTrackItem::setHandleRect( QRectF sliderHandleRect)
+{
+ handleRect=sliderHandleRect;
+}
+
void HbSliderTrackItem::paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget)
{
QSize size = boundingRect().size().toSize();
@@ -122,22 +129,22 @@
maskRect = QRectF(
left,
(qreal)boundingRect().topLeft().y(),
- (qreal)boundingRect().width() * ((value - minimum) / (qreal)(maximum - minimum)),
+ (qreal)boundingRect().width() * ((value - minimum) / (qreal)(maximum - minimum))-handleRect.width()/2,
(qreal)boundingRect().height());
} else {
maskRect = QRectF(
left,
(qreal)boundingRect().topLeft().y(),
- (qreal)trackSpan * ((value - minimum) / (qreal)(maximum - minimum)),
+ (qreal)trackSpan * ((value - minimum) / (qreal)(maximum - minimum))+handleRect.width()/2,
(qreal)boundingRect().height());
}
} else {
- qreal start = boundingRect().bottom() - (qreal)trackSpan * ((value - minimum) / (qreal)(maximum - minimum));
+ qreal start = boundingRect().bottom() - (qreal)trackSpan * ((value - minimum) / (qreal)(maximum - minimum))-handleRect.height()/2;
qreal end = boundingRect().bottom();
if (inverted) {
start = boundingRect().top();
- end = start + (qreal)trackSpan * ((value - minimum) / (qreal)(maximum - minimum));
+ end = start + (qreal)trackSpan * ((value - minimum) / (qreal)(maximum - minimum))+handleRect.height()/2;
}
maskRect = QRectF(
(qreal)boundingRect().topLeft().x(),