diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2015-07-29 10:57:05 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2015-07-29 10:59:28 -0700 |
commit | 487ddce3531f6b738affc84edf066bd0ea4a16bb (patch) | |
tree | f3113d1f2b2082d0b7f98c55c7198b205b366b85 /qt-ui | |
parent | ccaff3a06da9c638cd1088329e10944320e1f66e (diff) | |
download | subsurface-487ddce3531f6b738affc84edf066bd0ea4a16bb.tar.gz |
Profile: make sure text is scaled correctly when drawn
We had all this wonderful code to scale the text correctly, except we went
out of our way to make sure the code wouldn't be called unless something
changed on this specific text item. But that's bogus because the scaling
depends on external factors like the fontPrintScale.
So instead of calling updateText() when attributes of this DiveTextItem
change simply call it right before the DiveTextItem gets painted.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui')
-rw-r--r-- | qt-ui/profile/divetextitem.cpp | 9 | ||||
-rw-r--r-- | qt-ui/profile/divetextitem.h | 1 |
2 files changed, 7 insertions, 3 deletions
diff --git a/qt-ui/profile/divetextitem.cpp b/qt-ui/profile/divetextitem.cpp index 4c0137177..b3d5c39aa 100644 --- a/qt-ui/profile/divetextitem.cpp +++ b/qt-ui/profile/divetextitem.cpp @@ -14,11 +14,16 @@ DiveTextItem::DiveTextItem(QGraphicsItem *parent) : QGraphicsItemGroup(parent), textItem->setPen(Qt::NoPen); } +void DiveTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + updateText(); + QGraphicsItemGroup::paint(painter, option, widget); +} + void DiveTextItem::setAlignment(int alignFlags) { if (alignFlags != internalAlignFlags) { internalAlignFlags = alignFlags; - updateText(); } } @@ -31,7 +36,6 @@ void DiveTextItem::setScale(double newscale) { if (scale != newscale) { scale = newscale; - updateText(); } } @@ -39,7 +43,6 @@ void DiveTextItem::setText(const QString &t) { if (internalText != t) { internalText = t; - updateText(); } } diff --git a/qt-ui/profile/divetextitem.h b/qt-ui/profile/divetextitem.h index 0c0ec4b86..26e45d746 100644 --- a/qt-ui/profile/divetextitem.h +++ b/qt-ui/profile/divetextitem.h @@ -18,6 +18,7 @@ public: void setScale(double newscale); void setBrush(const QBrush &brush); const QString &text(); + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); private: void updateText(); |