summaryrefslogtreecommitdiffstats
path: root/qt-ui
diff options
context:
space:
mode:
authorGravatar Lubomir I. Ivanov <neolit123@gmail.com>2014-03-25 23:34:08 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-03-27 10:58:22 -0700
commitac23d7397f9303c2cff6479458342fe47498ac1b (patch)
treefb0a79bca20ced37e0ec6927ab35b329141e5270 /qt-ui
parent69b000dcfff1fc51b1ee8a2d6b86eb9116205b03 (diff)
downloadsubsurface-ac23d7397f9303c2cff6479458342fe47498ac1b.tar.gz
Ruler: fix bad scaling for the text background
The ruler text's white background scales badly. This patch adds the ItemIgnoresTransformations for the textItemBack object and matches the dimensions and position of the textItem object in front of it. Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r--qt-ui/profile/ruleritem.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/qt-ui/profile/ruleritem.cpp b/qt-ui/profile/ruleritem.cpp
index 5d2b5277b..768d912e9 100644
--- a/qt-ui/profile/ruleritem.cpp
+++ b/qt-ui/profile/ruleritem.cpp
@@ -77,6 +77,7 @@ RulerItem2::RulerItem2() : source(new RulerNodeItem2()),
textItem->setFlag(QGraphicsItem::ItemIgnoresTransformations);
textItemBack->setBrush(QColor(0xff, 0xff, 0xff, 190));
textItemBack->setPen(QColor(Qt::white));
+ textItemBack->setFlag(QGraphicsItem::ItemIgnoresTransformations);
setPen(QPen(QColor(Qt::black), 0.0));
}
@@ -117,13 +118,13 @@ void RulerItem2::recalculate()
}
// always show the text bellow the lowest of the start and end points
qreal tgtY = (startPoint.y() >= endPoint.y()) ? startPoint.y() : endPoint.y();
- textItem->setPos(tgtX - 1, tgtY + 4);
+ // this isn't exactly optimal, since we want to scale the 1.0, 4.0 distances as well
+ textItem->setPos(tgtX - 1.0, tgtY + 4.0);
// setup the text background
textItemBack->setVisible(startPoint.x() != endPoint.x());
- QPointF wh = mapFromScene(view->mapToScene(QPoint(textItem->boundingRect().width(),
- textItem->boundingRect().height())));
- textItemBack->setRect(tgtX - 2, tgtY + 3, wh.x() + 2, wh.y() + 3);
+ textItemBack->setPos(textItem->x(), textItem->y());
+ textItemBack->setRect(0, 0, textItem->boundingRect().width(), textItem->boundingRect().height());
}
RulerNodeItem2 *RulerItem2::sourceNode() const