qt: Add TextWidth() wrapper

In Qt 5.12 and before the QFontMetrics::width() is used and it is
deprecated since Qt 13.0.
In Qt 5.11 the QFontMetrics::horizontalAdvance() was introduced.
This commit is contained in:
Hennadii Stepanov
2019-08-23 20:13:11 +03:00
parent 442a9c6477
commit 1260ecd812
6 changed files with 28 additions and 10 deletions

View File

@@ -916,7 +916,7 @@ qreal calculateIdealFontSize(int width, const QString& text, QFont font, qreal m
while(font_size >= minPointSize) {
font.setPointSizeF(font_size);
QFontMetrics fm(font);
if (fm.width(text) < width) {
if (TextWidth(fm, text) < width) {
break;
}
font_size -= 0.5;
@@ -956,4 +956,13 @@ void PolishProgressDialog(QProgressDialog* dialog)
#endif
}
int TextWidth(const QFontMetrics& fm, const QString& text)
{
#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0))
return fm.horizontalAdvance(text);
#else
return fm.width(text);
#endif
}
} // namespace GUIUtil