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); }