diff --git a/src/app/puzzle/vptilefactory.cpp b/src/app/puzzle/vptilefactory.cpp
index 117068957..98b3050a1 100644
--- a/src/app/puzzle/vptilefactory.cpp
+++ b/src/app/puzzle/vptilefactory.cpp
@@ -9,6 +9,7 @@
#include "../vmisc/def.h"
#include "../vmisc/literals.h"
#include "../vmisc/vcommonsettings.h"
+#include "../vmisc/compatibility.h"
#include "../vlayout/vprintlayout.h"
namespace
@@ -335,11 +336,7 @@ void VPTileFactory::DrawRuler(QPainter *painter) const
qreal unitsWidth = 0;
QFontMetrics fm(fnt);
- #if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- unitsWidth = fm.horizontalAdvance(units);
- #else
- unitsWidth = fm.width(units);
- #endif
+ unitsWidth = TextWidth(fm, units);
painter->drawText(QPointF(step*0.5-unitsWidth*0.6,
m_drawingAreaHeight - tileStripeWidth + notchHeight+shortNotchHeight), units);
}
@@ -623,11 +620,7 @@ void VPTileFactory::DrawTextInformation(QPainter *painter, int row, int col, int
td.setPageSize(QSizeF(m_drawingAreaHeight - UnitConvertor(2, Unit::Cm, Unit::Px), m_drawingAreaWidth));
QFontMetrics metrix = QFontMetrics(td.defaultFont());
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- int maxWidth = metrix.horizontalAdvance(QString().fill('z', 50));
-#else
- int maxWidth = metrix.width(QString().fill('z', 50));
-#endif
+ int maxWidth = TextWidth(metrix, QString().fill('z', 50));
QString clippedSheetName = metrix.elidedText(sheetName, Qt::ElideMiddle, maxWidth);
td.setHtml(QStringLiteral("
"
diff --git a/src/libs/vlayout/vlayoutpiece.cpp b/src/libs/vlayout/vlayoutpiece.cpp
index 0eefb8a53..e17066036 100644
--- a/src/libs/vlayout/vlayoutpiece.cpp
+++ b/src/libs/vlayout/vlayoutpiece.cpp
@@ -1529,11 +1529,7 @@ void VLayoutPiece::CreateLabelStrings(QGraphicsItem *parent, const QVector= QT_VERSION_CHECK(5, 11, 0)
- if (fm.horizontalAdvance(qsText) > dW)
-#else
- if (fm.width(qsText) > dW)
-#endif
+ if (TextWidth(fm, qsText) > dW)
{
qsText = fm.elidedText(qsText, Qt::ElideMiddle, static_cast(dW));
}
@@ -1545,19 +1541,11 @@ void VLayoutPiece::CreateLabelStrings(QGraphicsItem *parent, const QVector 0)
{
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- dX = (dW - fm.horizontalAdvance(qsText))/2;
-#else
- dX = (dW - fm.width(qsText))/2;
-#endif
+ dX = (dW - TextWidth(fm, qsText))/2;
}
else if ((tl.m_eAlign & Qt::AlignRight) > 0)
{
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- dX = dW - fm.horizontalAdvance(qsText);
-#else
- dX = dW - fm.width(qsText);
-#endif
+ dX = dW - TextWidth(fm, qsText);
}
// set up the rotation around top-left corner matrix
diff --git a/src/libs/vlayout/vposter.cpp b/src/libs/vlayout/vposter.cpp
index 3decf6ec4..ec8023e3a 100644
--- a/src/libs/vlayout/vposter.cpp
+++ b/src/libs/vlayout/vposter.cpp
@@ -48,6 +48,7 @@
#include "../vmisc/vmath.h"
#include "../vmisc/def.h"
#include "../vmisc/vabstractvalapplication.h"
+#include "../vmisc/compatibility.h"
#include "../ifc/exception/vexception.h"
namespace
@@ -494,11 +495,7 @@ void VPoster::Ruler(QVector &data, QGraphicsItem *parent, QRect
qreal unitsWidth = 0;
QFontMetrics fm(fnt);
- #if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- unitsWidth = fm.horizontalAdvance(units->toPlainText());
- #else
- unitsWidth = fm.width(units->toPlainText());
- #endif
+ unitsWidth = TextWidth(fm, units->toPlainText());
units->setPos(rec.x() + step*0.5-unitsWidth*0.7,
rec.y() + rec.height()-static_cast(allowance)-shortNotchHeight);
units->setFont(fnt);
diff --git a/src/libs/vlayout/vtextmanager.cpp b/src/libs/vlayout/vtextmanager.cpp
index 709d5d50f..2a924ba37 100644
--- a/src/libs/vlayout/vtextmanager.cpp
+++ b/src/libs/vlayout/vtextmanager.cpp
@@ -552,11 +552,7 @@ void VTextManager::FitFontSize(qreal fW, qreal fH)
fnt.setBold(tl.m_bold);
fnt.setItalic(tl.m_italic);
QFontMetrics fm(fnt);
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- const int iTW = fm.horizontalAdvance(tl.m_qsText);
-#else
- const int iTW = fm.width(tl.m_qsText);
-#endif
+ const int iTW = TextWidth(fm, tl.m_qsText);
if (iTW > iMaxLen)
{
iMaxLen = iTW;
@@ -575,11 +571,7 @@ void VTextManager::FitFontSize(qreal fW, qreal fH)
--iFS;
fnt.setPixelSize(iFS + maxLine.m_iFontSize);
QFontMetrics fm(fnt);
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- lineLength = fm.horizontalAdvance(maxLine.m_qsText);
-#else
- lineLength = fm.width(maxLine.m_qsText);
-#endif
+ lineLength = TextWidth(fm, maxLine.m_qsText);
}
while (lineLength > fW && iFS > MIN_FONT_SIZE);
}
diff --git a/src/libs/vpropertyexplorer/plugins/vtextproperty.cpp b/src/libs/vpropertyexplorer/plugins/vtextproperty.cpp
index 3e250eff0..3fc40a521 100644
--- a/src/libs/vpropertyexplorer/plugins/vtextproperty.cpp
+++ b/src/libs/vpropertyexplorer/plugins/vtextproperty.cpp
@@ -19,6 +19,7 @@
*************************************************************************/
#include "vtextproperty.h"
#include "../vproperty_p.h"
+#include "../vmisc/compatibility.h"
#include
#include
@@ -39,11 +40,7 @@ void SetTabStopDistance(QPlainTextEdit *edit, int tabWidthChar)
#else
// compute the size of a char in double-precision
static constexpr int bigNumber = 1000; // arbitrary big number.
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- const int many_char_width = fontMetrics.horizontalAdvance(testString.repeated(bigNumber));
-#else
- const int many_char_width = fontMetrics.width(testString.repeated(bigNumber));
-#endif
+ const int many_char_width = TextWidth(fontMetrics, testString.repeated(bigNumber));
const double singleCharWidthDouble = many_char_width / double(bigNumber);
// set the tab stop with double precision
edit->setTabStopDistance(tabWidthChar * singleCharWidthDouble);
diff --git a/src/libs/vtools/dialogs/dialogtoolbox.cpp b/src/libs/vtools/dialogs/dialogtoolbox.cpp
index ce79390e2..8c354b8f2 100644
--- a/src/libs/vtools/dialogs/dialogtoolbox.cpp
+++ b/src/libs/vtools/dialogs/dialogtoolbox.cpp
@@ -566,11 +566,7 @@ void SetTabStopDistance(QPlainTextEdit *edit, int tabWidthChar)
#else
// compute the size of a char in double-precision
static constexpr int bigNumber = 1000; // arbitrary big number.
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- const int many_char_width = fontMetrics.horizontalAdvance(testString.repeated(bigNumber));
-#else
- const int many_char_width = fontMetrics.width(testString.repeated(bigNumber));
-#endif
+ const int many_char_width = TextWidth(fontMetrics, testString.repeated(bigNumber));
const double singleCharWidthDouble = many_char_width / double(bigNumber);
// set the tab stop with double precision
edit->setTabStopDistance(tabWidthChar * singleCharWidthDouble);
diff --git a/src/libs/vwidgets/fancytabbar/fancytabbar.cpp b/src/libs/vwidgets/fancytabbar/fancytabbar.cpp
index 3c40e08b1..af213af15 100644
--- a/src/libs/vwidgets/fancytabbar/fancytabbar.cpp
+++ b/src/libs/vwidgets/fancytabbar/fancytabbar.cpp
@@ -29,6 +29,7 @@
#include "fancytabbar.h"
#include "stylehelper.h"
+#include "../vmisc/compatibility.h"
#include
#include
@@ -92,11 +93,7 @@ QSize FancyTabBar::TabSizeHint(bool minimum) const
{
sentence = sentence.isEmpty() ? sentence = word : sentence + QLatin1Char(' ') + word;
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- const int width = fm.horizontalAdvance(sentence);
-#else
- const int width = fm.width(sentence);
-#endif
+ const int width = TextWidth(fm, sentence);
if (maxLabelwidth < width)
{
maxLabelwidth = width;
@@ -106,11 +103,7 @@ QSize FancyTabBar::TabSizeHint(bool minimum) const
}
else
{
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- const int width = fm.horizontalAdvance(tabText);
-#else
- const int width = fm.width(tabText);
-#endif
+ const int width = TextWidth(fm, tabText);
if (width > maxLabelwidth)
{
maxLabelwidth = width;
diff --git a/src/libs/vwidgets/vtextgraphicsitem.cpp b/src/libs/vwidgets/vtextgraphicsitem.cpp
index 66f969ebd..95d7714dd 100644
--- a/src/libs/vwidgets/vtextgraphicsitem.cpp
+++ b/src/libs/vwidgets/vtextgraphicsitem.cpp
@@ -42,6 +42,7 @@
#include "../vmisc/def.h"
#include "../vmisc/vmath.h"
#include "../vmisc/literals.h"
+#include "../vmisc/compatibility.h"
#include "vtextgraphicsitem.h"
const qreal resizeSquare = (3./*mm*/ / 25.4) * PrintDPI;
@@ -177,11 +178,7 @@ void VTextGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem
break;
}
-#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
- if (fm.horizontalAdvance(qsText) > iW)
-#else
- if (fm.width(qsText) > iW)
-#endif
+ if (TextWidth(fm, qsText) > iW)
{
qsText = fm.elidedText(qsText, Qt::ElideMiddle, iW);
}