diff --git a/qrenderdoc/Widgets/Extended/RDLabel.cpp b/qrenderdoc/Widgets/Extended/RDLabel.cpp index 4b1707bcd..a89234707 100644 --- a/qrenderdoc/Widgets/Extended/RDLabel.cpp +++ b/qrenderdoc/Widgets/Extended/RDLabel.cpp @@ -33,6 +33,26 @@ RDLabel::~RDLabel() { } +QSize RDLabel::sizeHint() const +{ + QSize sz = QLabel::sizeHint(); + + if(m_preserveRatio) + sz.setWidth(sz.width() - contentsMargins().left() - contentsMargins().right()); + + return sz; +} + +QSize RDLabel::minimumSizeHint() const +{ + QSize sz = QLabel::minimumSizeHint(); + + if(m_preserveRatio) + sz.setWidth(sz.width() - contentsMargins().left() - contentsMargins().right()); + + return sz; +} + void RDLabel::mousePressEvent(QMouseEvent *event) { emit(clicked(event)); diff --git a/qrenderdoc/Widgets/Extended/RDLabel.h b/qrenderdoc/Widgets/Extended/RDLabel.h index fc484bbd8..fb732b5e0 100644 --- a/qrenderdoc/Widgets/Extended/RDLabel.h +++ b/qrenderdoc/Widgets/Extended/RDLabel.h @@ -33,6 +33,9 @@ public: explicit RDLabel(QWidget *parent = 0); ~RDLabel(); + QSize sizeHint() const override; + QSize minimumSizeHint() const override; + void setPreserveAspectRatio(bool preserve) { m_preserveRatio = preserve; } bool preserveAspectRatio() { return m_preserveRatio; } signals: