diff --git a/src/libs/vwidgets/vgraphicssimpletextitem.cpp b/src/libs/vwidgets/vgraphicssimpletextitem.cpp index 5d0ecbf0f..79723fd71 100644 --- a/src/libs/vwidgets/vgraphicssimpletextitem.cpp +++ b/src/libs/vwidgets/vgraphicssimpletextitem.cpp @@ -45,6 +45,7 @@ #include "vmaingraphicsscene.h" #include "vmaingraphicsview.h" +#include "global.h" //--------------------------------------------------------------------------------------------------------------------- /** @@ -87,6 +88,23 @@ VGraphicsSimpleTextItem::~VGraphicsSimpleTextItem() RestoreOverrideCursor(cursorArrowOpenHand); } +//--------------------------------------------------------------------------------------------------------------------- +void VGraphicsSimpleTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + const qreal scale = SceneScale(scene()); + qreal fontSize = BaseFontSize(); + if (scale > 1) + { + fontSize = qMax(0.1, fontSize/scale); + } + + QFont font = this->font(); + font.setPointSizeF(fontSize); + setFont(font); + + QGraphicsSimpleTextItem::paint(painter, option, widget); +} + //--------------------------------------------------------------------------------------------------------------------- void VGraphicsSimpleTextItem::setEnabled(bool enabled) { diff --git a/src/libs/vwidgets/vgraphicssimpletextitem.h b/src/libs/vwidgets/vgraphicssimpletextitem.h index 62fef5c91..526edbd58 100644 --- a/src/libs/vwidgets/vgraphicssimpletextitem.h +++ b/src/libs/vwidgets/vgraphicssimpletextitem.h @@ -56,6 +56,9 @@ public: virtual int type() const Q_DECL_OVERRIDE {return Type;} enum { Type = UserType + static_cast(Vis::GraphicsSimpleTextItem)}; + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, + QWidget *widget = nullptr) Q_DECL_OVERRIDE; + void setEnabled(bool enabled); void LabelSelectionType(const SelectionType &type); signals: diff --git a/src/libs/vwidgets/vscenepoint.cpp b/src/libs/vwidgets/vscenepoint.cpp index 0c64f169c..d2bf59fd4 100644 --- a/src/libs/vwidgets/vscenepoint.cpp +++ b/src/libs/vwidgets/vscenepoint.cpp @@ -72,7 +72,6 @@ void VScenePoint::paint(QPainter *painter, const QStyleOptionGraphicsItem *optio m_namePoint->setVisible(true); m_lineName->setVisible(true); - ScaleLabelFontSize(scale); ScaleLinePenWidth(m_lineName, scale); RefreshLine(); @@ -170,20 +169,6 @@ void VScenePoint::ScaleMainPenWidth(qreal scale) setPen(QPen(CorrectColor(this, m_baseColor), width)); } -//--------------------------------------------------------------------------------------------------------------------- -void VScenePoint::ScaleLabelFontSize(qreal scale) const -{ - qreal fontSize = m_namePoint->BaseFontSize(); - if (scale > 1) - { - fontSize = qMax(0.1, fontSize/scale); - } - - QFont font = m_namePoint->font(); - font.setPointSizeF(fontSize); - m_namePoint->setFont(font); -} - //--------------------------------------------------------------------------------------------------------------------- void VScenePoint::ScaleLinePenWidth(QGraphicsLineItem *line, qreal scale) { diff --git a/src/libs/vwidgets/vscenepoint.h b/src/libs/vwidgets/vscenepoint.h index 275cea01a..01ec0c18e 100644 --- a/src/libs/vwidgets/vscenepoint.h +++ b/src/libs/vwidgets/vscenepoint.h @@ -72,7 +72,6 @@ private: Q_DISABLE_COPY(VScenePoint) void ScaleMainPenWidth(qreal scale); - void ScaleLabelFontSize(qreal scale) const; }; #endif // VSCENEPOINT_H