ifdef QFontMetrics::horizontalAdvance to make it work with older Qt

This commit is contained in:
Jonas Kvinge
2019-07-08 23:27:45 +02:00
parent 4150e3efde
commit 5f7efee00e
10 changed files with 52 additions and 2 deletions

View File

@@ -201,7 +201,11 @@ void FreeSpaceBar::DrawText(QPainter* p, const QRect &r) {
int text_width = 0;
for (const Label &label : labels) {
#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0))
text_width += kLabelBoxSize + kLabelBoxPadding + kLabelSpacing + small_metrics.horizontalAdvance(label.text);
#else
text_width += kLabelBoxSize + kLabelBoxPadding + kLabelSpacing + small_metrics.width(label.text);
#endif
}
// Draw the text
@@ -216,11 +220,18 @@ void FreeSpaceBar::DrawText(QPainter* p, const QRect &r) {
p->setBrush(label.color);
p->drawRect(box);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0))
QRect text(x + kLabelBoxSize + kLabelBoxPadding, r.top(), small_metrics.horizontalAdvance(label.text), r.height());
#else
QRect text(x + kLabelBoxSize + kLabelBoxPadding, r.top(), small_metrics.width(label.text), r.height());
#endif
p->setPen(light ? label.color.darker() : label.color);
p->drawText(text, Qt::AlignCenter, label.text);
#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0))
x += kLabelBoxSize + kLabelBoxPadding + kLabelSpacing + small_metrics.horizontalAdvance(label.text);
#else
x += kLabelBoxSize + kLabelBoxPadding + kLabelSpacing + small_metrics.width(label.text);
#endif
}
}