--- a/src/hbcore/primitives/hbprogresstrackitem.cpp Thu Jul 15 14:03:49 2010 +0100
+++ b/src/hbcore/primitives/hbprogresstrackitem.cpp Thu Jul 22 16:36:53 2010 +0100
@@ -45,14 +45,17 @@
maximum = 0;
value = 0;
maskWidth = 0;
+ mDiff = maximum - minimum;
}
void HbProgressTrackItem::setMinimum(int min)
{
minimum = min;
+ mDiff = maximum - minimum;
}
void HbProgressTrackItem::setMaximum(int max )
{
maximum = max;
+ mDiff = maximum - minimum;
}
void HbProgressTrackItem::setValue(int val )
{
@@ -79,30 +82,30 @@
if(boundingRect()!= parentItem()->boundingRect()){
setGeometry(parentItem()->boundingRect());
}
- QSize size = parentItem()->boundingRect().size().toSize();
+ /* QSize size = parentItem()->boundingRect().size().toSize();
if(size.width() == 0 || size.height() == 0){
size.setWidth((int)boundingRect().width());
size.setHeight((int)boundingRect().height());
- }
+ }*/
QRectF maskRect;
if(maximum != minimum) {
if(maskWidth == 0) {
if(mOrientation == Qt::Horizontal){
qreal left = (qreal)boundingRect().topLeft().x();
if(inverted) {
- left = (qreal)boundingRect().width()* ((maximum - value)/(qreal) (maximum - minimum));
+ left = (qreal)boundingRect().width()* ((maximum - value)/(qreal) (mDiff));
}
maskRect = QRectF(
left,
(qreal)boundingRect().topLeft().y(),
- (qreal)boundingRect().width()* ((value - minimum)/(qreal) (maximum - minimum)),
+ (qreal)boundingRect().width()* ((value - minimum)/(qreal) (mDiff)),
(qreal)boundingRect().height()
);
}
else{
- qreal start = boundingRect().bottom() -(qreal)boundingRect().height()*((value - minimum)/(qreal) (maximum - minimum));
+ qreal start = boundingRect().bottom() -(qreal)boundingRect().height()*((value - minimum)/(qreal) (mDiff));
maskRect = QRectF(
(qreal)boundingRect().topLeft().x(),
start,
@@ -113,9 +116,18 @@
}
}
- QPainterPath path;
- path.addRect(maskRect);
- frameDrawer().setClipPath(path);
+// QPainterPath path;
+// path.addRect(maskRect);
+// frameDrawer().setClipPath(path);
+ QPixmap pixmap(boundingRect().size().toSize());
+ pixmap.fill(Qt::white);
+ QPainter painter1;
+ painter1.begin(&pixmap);
+ painter1.setBrush(QBrush(Qt::black));
+ painter1.drawRect(maskRect);
+ painter1.end();
+ frameDrawer().setMask(pixmap);
+
HbFrameItem::paint(painter,option,widget);
}