diff options
author | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2017-08-02 11:39:01 +0200 |
---|---|---|
committer | Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io> | 2017-12-08 15:06:32 +0000 |
commit | 4d88d79aa507777bce40740b21747f656efc074d (patch) | |
tree | 0b335cac61062eaf281b5a76514f8bd74bbcaaf2 /src | |
parent | cd56e843cc53938111879c21570eaf8225719743 (diff) |
Update usage of QFontMetrics::width() to new API
QFontMetrics(F)::width() has been deprecated and is replaced by
horizontalAdvance(). This updates all usage of it in tests and
documentation.
It is worth noting that many or most of the usages of
QFontMetrics::width() probably intended to use boundingRect().width(),
but since it currently works, I have not looked into that, just
replaced the function name mechanically.
Change-Id: Iec382e5bad0b50f37a6cfff841bfb46ed4d4555f
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src')
33 files changed, 63 insertions, 63 deletions
diff --git a/src/gui/doc/snippets/code/src_gui_text_qfont.cpp b/src/gui/doc/snippets/code/src_gui_text_qfont.cpp index 82d8525ded..1901ca9b10 100644 --- a/src/gui/doc/snippets/code/src_gui_text_qfont.cpp +++ b/src/gui/doc/snippets/code/src_gui_text_qfont.cpp @@ -72,6 +72,6 @@ QString family = info.family(); //! [4] QFontMetrics fm(f1); -int textWidthInPixels = fm.width("How many pixels wide is this text?"); +int textWidthInPixels = fm.horizontalAdvance("How many pixels wide is this text?"); int textHeightInPixels = fm.height(); //! [4] diff --git a/src/gui/doc/snippets/code/src_gui_text_qfontmetrics.cpp b/src/gui/doc/snippets/code/src_gui_text_qfontmetrics.cpp index 6cffa4f611..6b478d3297 100644 --- a/src/gui/doc/snippets/code/src_gui_text_qfontmetrics.cpp +++ b/src/gui/doc/snippets/code/src_gui_text_qfontmetrics.cpp @@ -51,7 +51,7 @@ //! [0] QFont font("times", 24); QFontMetrics fm(font); -int pixelsWide = fm.width("What's the width of this text?"); +int pixelsWide = fm.horizontalAdvance("What's the width of this text?"); int pixelsHigh = fm.height(); //! [0] @@ -59,6 +59,6 @@ int pixelsHigh = fm.height(); //! [1] QFont font("times", 24); QFontMetricsF fm(font); -qreal pixelsWide = fm.width("What's the width of this text?"); +qreal pixelsWide = fm.horizontalAdvance("What's the width of this text?"); qreal pixelsHigh = fm.height(); //! [1] diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 6876a72e6e..5f7f6a5148 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -7478,7 +7478,7 @@ start_lengthVariant: if (!expandtabs) { text[offset] = QLatin1Char(' '); } else if (!tabarraylen && !tabstops) { - tabstops = qRound(fm.width(QLatin1Char('x'))*8); + tabstops = qRound(fm.horizontalAdvance(QLatin1Char('x'))*8); } } else if (chr == QChar(ushort(0x9c))) { // string with multiple length variants diff --git a/src/gui/text/qtextdocument.cpp b/src/gui/text/qtextdocument.cpp index 15ce60fb4a..1c7384406d 100644 --- a/src/gui/text/qtextdocument.cpp +++ b/src/gui/text/qtextdocument.cpp @@ -809,7 +809,7 @@ void QTextDocument::adjustSize() // Pull this private function in from qglobal.cpp QFont f = defaultFont(); QFontMetrics fm(f); - int mw = fm.width(QLatin1Char('x')) * 80; + int mw = fm.horizontalAdvance(QLatin1Char('x')) * 80; int w = mw; setTextWidth(w); QSizeF size = documentLayout()->documentSize(); @@ -1902,7 +1902,7 @@ static void printPage(int index, QPainter *painter, const QTextDocument *doc, co painter->setFont(QFont(doc->defaultFont())); const QString pageString = QString::number(index); - painter->drawText(qRound(pageNumberPos.x() - painter->fontMetrics().width(pageString)), + painter->drawText(qRound(pageNumberPos.x() - painter->fontMetrics().horizontalAdvance(pageString)), qRound(pageNumberPos.y() + view.top()), pageString); } diff --git a/src/gui/text/qtextdocumentlayout.cpp b/src/gui/text/qtextdocumentlayout.cpp index e9194e73ff..9877a23fa6 100644 --- a/src/gui/text/qtextdocumentlayout.cpp +++ b/src/gui/text/qtextdocumentlayout.cpp @@ -1427,7 +1427,7 @@ void QTextDocumentLayoutPrivate::drawListItem(const QPointF &offset, QPainter *p case QTextListFormat::ListLowerRoman: case QTextListFormat::ListUpperRoman: itemText = static_cast<QTextList *>(object)->itemText(bl); - size.setWidth(fontMetrics.width(itemText)); + size.setWidth(fontMetrics.horizontalAdvance(itemText)); size.setHeight(fontMetrics.height()); break; @@ -1445,7 +1445,7 @@ void QTextDocumentLayoutPrivate::drawListItem(const QPointF &offset, QPainter *p QRectF r(pos, size); - qreal xoff = fontMetrics.width(QLatin1Char(' ')); + qreal xoff = fontMetrics.horizontalAdvance(QLatin1Char(' ')); if (dir == Qt::LeftToRight) xoff = -xoff - size.width(); r.translate( xoff, (fontMetrics.height() / 2) - (size.height() / 2)); @@ -2613,7 +2613,7 @@ void QTextDocumentLayoutPrivate::layoutBlock(const QTextBlock &bl, int blockPosi QFixed extraMargin; if (docPrivate->defaultTextOption.flags() & QTextOption::AddSpaceForLineAndParagraphSeparators) { QFontMetricsF fm(bl.charFormat().font()); - extraMargin = QFixed::fromReal(fm.width(QChar(QChar(0x21B5)))); + extraMargin = QFixed::fromReal(fm.horizontalAdvance(QChar(QChar(0x21B5)))); } const QFixed indent = this->blockIndent(blockFormat); diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp index 066f258ea3..bf267a0bbd 100644 --- a/src/gui/text/qtextlayout.cpp +++ b/src/gui/text/qtextlayout.cpp @@ -2453,7 +2453,7 @@ void QTextLine::draw(QPainter *p, const QPointF &pos, const QTextLayout::FormatR const qreal lineHeight = line.height().toReal(); QRectF r(pos.x() + line.x.toReal(), pos.y() + line.y.toReal(), - lineHeight / 2, QFontMetrics(eng->font()).width(QLatin1Char(' '))); + lineHeight / 2, QFontMetrics(eng->font()).horizontalAdvance(QLatin1Char(' '))); setPenAndDrawBackground(p, QPen(), selection->format, r); p->setPen(pen); } @@ -2540,7 +2540,7 @@ void QTextLine::draw(QPainter *p, const QPointF &pos, const QTextLayout::FormatR QPainterPrivate::get(p)->drawTextItem(QPointF(iterator.x.toReal(), y.toReal()), gf, eng); if (eng->option.flags() & QTextOption::ShowTabsAndSpaces) { QChar visualTab(0x2192); - int w = QFontMetrics(f).width(visualTab); + int w = QFontMetrics(f).horizontalAdvance(visualTab); qreal x = iterator.itemWidth.toReal() - w; // Right-aligned if (x < 0) p->setClipRect(QRectF(iterator.x.toReal(), line.y.toReal(), diff --git a/src/plugins/platforms/cocoa/qcocoadrag.mm b/src/plugins/platforms/cocoa/qcocoadrag.mm index 3bd0b05725..e1f36b47a1 100644 --- a/src/plugins/platforms/cocoa/qcocoadrag.mm +++ b/src/plugins/platforms/cocoa/qcocoadrag.mm @@ -188,7 +188,7 @@ QPixmap QCocoaDrag::dragPixmap(QDrag *drag, QPoint &hotSpot) const if (s.length() > dragImageMaxChars) s = s.left(dragImageMaxChars -3) + QChar(0x2026); if (!s.isEmpty()) { - const int width = fm.width(s); + const int width = fm.horizontalAdvance(s); const int height = fm.height(); if (width > 0 && height > 0) { qreal dpr = 1.0; diff --git a/src/plugins/styles/mac/qmacstyle_mac.mm b/src/plugins/styles/mac/qmacstyle_mac.mm index 2067c86023..4eb63a1cff 100644 --- a/src/plugins/styles/mac/qmacstyle_mac.mm +++ b/src/plugins/styles/mac/qmacstyle_mac.mm @@ -921,7 +921,7 @@ static QSize qt_aqua_get_known_size(QStyle::ContentsType ct, const QWidget *widg height = qMax(height, qMax(iconSize.height(), pmSize.height())); } if (!bt->text().isNull() && bt->toolButtonStyle() != Qt::ToolButtonIconOnly) { - int text_width = bt->fontMetrics().width(bt->text()), + int text_width = bt->fontMetrics().horizontalAdvance(bt->text()), text_height = bt->fontMetrics().height(); if (bt->toolButtonStyle() == Qt::ToolButtonTextUnderIcon) { width = qMax(width, text_width); @@ -5516,10 +5516,10 @@ void QMacStyle::drawComplexControl(ComplexControl cc, const QStyleOptionComplex QRect br = p->clipRegion().boundingRect(); int x = br.x(), y = br.y() + (titlebar->rect.height() / 2 - p->fontMetrics().height() / 2); - if (br.width() <= (p->fontMetrics().width(titlebar->text) + iw * 2)) + if (br.width() <= (p->fontMetrics().horizontalAdvance(titlebar->text) + iw * 2)) x += iw; else - x += br.width() / 2 - p->fontMetrics().width(titlebar->text) / 2; + x += br.width() / 2 - p->fontMetrics().horizontalAdvance(titlebar->text) / 2; if (iw) { int iconExtent = proxy()->pixelMetric(PM_SmallIconSize); p->drawPixmap(x - iw, y, diff --git a/src/printsupport/dialogs/qprintpreviewdialog.cpp b/src/printsupport/dialogs/qprintpreviewdialog.cpp index 2116e8a821..eada7968af 100644 --- a/src/printsupport/dialogs/qprintpreviewdialog.cpp +++ b/src/printsupport/dialogs/qprintpreviewdialog.cpp @@ -484,7 +484,7 @@ void QPrintPreviewDialogPrivate::updatePageNumLabel() int numPages = preview->pageCount(); int maxChars = QString::number(numPages).length(); pageNumLabel->setText(QString::fromLatin1("/ %1").arg(numPages)); - int cyphersWidth = q->fontMetrics().width(QString().fill(QLatin1Char('8'), maxChars)); + int cyphersWidth = q->fontMetrics().horizontalAdvance(QString().fill(QLatin1Char('8'), maxChars)); int maxWidth = pageNumEdit->minimumSizeHint().width() + cyphersWidth; pageNumEdit->setMinimumWidth(maxWidth); pageNumEdit->setMaximumWidth(maxWidth); diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index f869ab1129..872ddcded5 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -716,7 +716,7 @@ QRect QAccessibleTextWidget::characterRect(int offset) const QFontMetrics fm(format.font()); const QString ch = text(offset, offset + 1); if (!ch.isEmpty()) { - int w = fm.width(ch); + int w = fm.horizontalAdvance(ch); int h = fm.height(); r = QRect(layoutPosition.x() + x, layoutPosition.y() + line.y() + line.ascent() + fm.descent() - h, w, h); diff --git a/src/widgets/accessible/simplewidgets.cpp b/src/widgets/accessible/simplewidgets.cpp index f821c2f001..f0423ca825 100644 --- a/src/widgets/accessible/simplewidgets.cpp +++ b/src/widgets/accessible/simplewidgets.cpp @@ -777,7 +777,7 @@ QRect QAccessibleLineEdit::characterRect(int offset) const const QString ch = text(offset, offset + 1); if (ch.isEmpty()) return QRect(); - int w = fm.width(ch); + int w = fm.horizontalAdvance(ch); int h = fm.height(); QRect r(x, y, w, h); r.moveTo(lineEdit()->mapToGlobal(r.topLeft())); diff --git a/src/widgets/dialogs/qfiledialog.cpp b/src/widgets/dialogs/qfiledialog.cpp index e375a957de..4cda5f34ad 100644 --- a/src/widgets/dialogs/qfiledialog.cpp +++ b/src/widgets/dialogs/qfiledialog.cpp @@ -2950,10 +2950,10 @@ void QFileDialogPrivate::createWidgets() qFileDialogUi->treeView->setModel(model); QHeaderView *treeHeader = qFileDialogUi->treeView->header(); QFontMetrics fm(q->font()); - treeHeader->resizeSection(0, fm.width(QLatin1String("wwwwwwwwwwwwwwwwwwwwwwwwww"))); - treeHeader->resizeSection(1, fm.width(QLatin1String("128.88 GB"))); - treeHeader->resizeSection(2, fm.width(QLatin1String("mp3Folder"))); - treeHeader->resizeSection(3, fm.width(QLatin1String("10/29/81 02:02PM"))); + treeHeader->resizeSection(0, fm.horizontalAdvance(QLatin1String("wwwwwwwwwwwwwwwwwwwwwwwwww"))); + treeHeader->resizeSection(1, fm.horizontalAdvance(QLatin1String("128.88 GB"))); + treeHeader->resizeSection(2, fm.horizontalAdvance(QLatin1String("mp3Folder"))); + treeHeader->resizeSection(3, fm.horizontalAdvance(QLatin1String("10/29/81 02:02PM"))); treeHeader->setContextMenuPolicy(Qt::ActionsContextMenu); QActionGroup *showActionGroup = new QActionGroup(q); diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp index 190ce93439..cb8ac1ccbf 100644 --- a/src/widgets/dialogs/qmessagebox.cpp +++ b/src/widgets/dialogs/qmessagebox.cpp @@ -415,7 +415,7 @@ void QMessageBoxPrivate::updateSize() } QFontMetrics fm(QApplication::font("QMdiSubWindowTitleBar")); - int windowTitleWidth = qMin(fm.width(q->windowTitle()) + 50, hardLimit); + int windowTitleWidth = qMin(fm.horizontalAdvance(q->windowTitle()) + 50, hardLimit); if (windowTitleWidth > width) width = windowTitleWidth; diff --git a/src/widgets/doc/snippets/javastyle.cpp b/src/widgets/doc/snippets/javastyle.cpp index bddc303f71..8657d5ed29 100644 --- a/src/widgets/doc/snippets/javastyle.cpp +++ b/src/widgets/doc/snippets/javastyle.cpp @@ -214,7 +214,7 @@ void JavaStyle::drawControl(ControlElement control, const QStyleOption *option, painter->translate(box->rect.width(), -box->rect.height()); } - int textWidth = box->fontMetrics.width(box->text) + 20; + int textWidth = box->fontMetrics.horizontalAdvance(box->text) + 20; QPolygon innerLine; innerLine << (box->rect.topLeft() + QPoint(0, 1)) << @@ -1016,7 +1016,7 @@ void JavaStyle::drawControl(ControlElement control, const QStyleOption *option, int h = pixmap.height(); if (!button->text.isEmpty()) - w += button->fontMetrics.width(button->text) + 2; + w += button->fontMetrics.horizontalAdvance(button->text) + 2; point = QPoint(ir.x() + ir.width() / 2 - w / 2, ir.y() + ir.height() / 2 - h / 2); @@ -2453,7 +2453,7 @@ QRect JavaStyle::subElementRect(SubElement element, rect.moveTopLeft(box->rect.topLeft() + QPoint(0, 2)); rect.setHeight(box->rect.height() - 4); - rect.setWidth(box->fontMetrics.width(box->text) + 15); + rect.setWidth(box->fontMetrics.horizontalAdvance(box->text) + 15); break; } case SE_ProgressBarLabel: @@ -2467,7 +2467,7 @@ QRect JavaStyle::subElementRect(SubElement element, qstyleoption_cast<const QStyleOptionButton *>(option); rect = btn->fontMetrics.boundingRect(btn->text); - rect = QRect(0, 0, btn->fontMetrics.width(btn->text), + rect = QRect(0, 0, btn->fontMetrics.horizontalAdvance(btn->text), rect.height()); if (!btn->icon.isNull()) { diff --git a/src/widgets/itemviews/qitemeditorfactory.cpp b/src/widgets/itemviews/qitemeditorfactory.cpp index 1d8e03569d..72a9f1f1c9 100644 --- a/src/widgets/itemviews/qitemeditorfactory.cpp +++ b/src/widgets/itemviews/qitemeditorfactory.cpp @@ -587,7 +587,7 @@ void QExpandingLineEdit::resizeToContents() originalWidth = oldWidth; if (QWidget *parent = parentWidget()) { QPoint position = pos(); - int hintWidth = minimumWidth() + fontMetrics().width(displayText()); + int hintWidth = minimumWidth() + fontMetrics().horizontalAdvance(displayText()); int parentWidth = parent->width(); int maxWidth = isRightToLeft() ? position.x() + oldWidth : parentWidth - position.x(); int newWidth = qBound(originalWidth, hintWidth, maxWidth); diff --git a/src/widgets/styles/qcommonstyle.cpp b/src/widgets/styles/qcommonstyle.cpp index 0ad508afd2..1155257664 100644 --- a/src/widgets/styles/qcommonstyle.cpp +++ b/src/widgets/styles/qcommonstyle.cpp @@ -2499,7 +2499,7 @@ QRect QCommonStyle::subElementRect(SubElement sr, const QStyleOption *opt, const bool vertical = pb->orientation == Qt::Vertical; if (!vertical) { if (pb->textVisible) - textw = qMax(pb->fontMetrics.width(pb->text), pb->fontMetrics.width(QLatin1String("100%"))) + 6; + textw = qMax(pb->fontMetrics.horizontalAdvance(pb->text), pb->fontMetrics.horizontalAdvance(QLatin1String("100%"))) + 6; } if ((pb->textAlignment & Qt::AlignCenter) == 0) { diff --git a/src/widgets/styles/qfusionstyle.cpp b/src/widgets/styles/qfusionstyle.cpp index e002b49d25..c01fb9e0db 100644 --- a/src/widgets/styles/qfusionstyle.cpp +++ b/src/widgets/styles/qfusionstyle.cpp @@ -1536,7 +1536,7 @@ void QFusionStyle::drawControl(ControlElement element, const QStyleOption *optio proxy()->drawItemText(painter, menuItem->rect.adjusted(margin, 0, -margin, 0), Qt::AlignLeft | Qt::AlignVCenter, menuItem->palette, menuItem->state & State_Enabled, menuItem->text, QPalette::Text); - w = menuItem->fontMetrics.width(menuItem->text) + margin; + w = menuItem->fontMetrics.horizontalAdvance(menuItem->text) + margin; } painter->setPen(shadow.lighter(106)); bool reverse = menuItem->direction == Qt::RightToLeft; @@ -3216,7 +3216,7 @@ QSize QFusionStyle::sizeFromContents(ContentsType type, const QStyleOption *opti QFont fontBold = menuItem->font; fontBold.setBold(true); QFontMetrics fmBold(fontBold); - w += fmBold.width(menuItem->text) - fm.width(menuItem->text); + w += fmBold.width(menuItem->text) - fm.horizontalAdvance(menuItem->text); } const int checkcol = qMax<int>(maxpmw, QStyleHelper::dpiScaled(QFusionStylePrivate::menuCheckMarkWidth)); // Windows always shows a check column w += checkcol; diff --git a/src/widgets/styles/qstylesheetstyle.cpp b/src/widgets/styles/qstylesheetstyle.cpp index fd812d8d0d..4e4576940a 100644 --- a/src/widgets/styles/qstylesheetstyle.cpp +++ b/src/widgets/styles/qstylesheetstyle.cpp @@ -833,7 +833,7 @@ QHash<QStyle::SubControl, QRect> QStyleSheetStyle::titleBarLayout(const QWidget continue; } if (info.element == PseudoElement_TitleBar) { - info.width = tb->fontMetrics.width(tb->text) + 6; + info.width = tb->fontMetrics.horizontalAdvance(tb->text) + 6; subRule.geo = new QStyleSheetGeometryData(info.width, tb->fontMetrics.height(), -1, -1, -1, -1); } else { subRule = renderRule(w, tb, info.element); @@ -5485,7 +5485,7 @@ QRect QStyleSheetStyle::subControlRect(ComplexControl cc, const QStyleOptionComp groupBox.rect = rule.borderRect(opt->rect); return baseStyle()->subControlRect(cc, &groupBox, sc, w); } - int tw = opt->fontMetrics.width(gb->text); + int tw = opt->fontMetrics.horizontalAdvance(gb->text); int th = opt->fontMetrics.height(); int spacing = pixelMetric(QStyle::PM_CheckBoxLabelSpacing, opt, w); int iw = pixelMetric(QStyle::PM_IndicatorWidth, opt, w); diff --git a/src/widgets/styles/qwindowsstyle.cpp b/src/widgets/styles/qwindowsstyle.cpp index 9e53038348..7a84a4dcf8 100644 --- a/src/widgets/styles/qwindowsstyle.cpp +++ b/src/widgets/styles/qwindowsstyle.cpp @@ -2388,7 +2388,7 @@ QSize QWindowsStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, QFont fontBold = mi->font; fontBold.setBold(true); QFontMetrics fmBold(fontBold); - w += fmBold.width(mi->text) - fm.width(mi->text); + w += fmBold.horizontalAdvance(mi->text) - fm.horizontalAdvance(mi->text); } int checkcol = qMax<int>(maxpmw, QWindowsStylePrivate::windowsCheckMarkWidth); // Windows always shows a check column diff --git a/src/widgets/widgets/qabstractspinbox.cpp b/src/widgets/widgets/qabstractspinbox.cpp index 3427579d1f..61526916f1 100644 --- a/src/widgets/widgets/qabstractspinbox.cpp +++ b/src/widgets/widgets/qabstractspinbox.cpp @@ -870,15 +870,15 @@ QSize QAbstractSpinBox::sizeHint() const s = d->textFromValue(d->minimum); s.truncate(18); s += fixedContent; - w = qMax(w, fm.width(s)); + w = qMax(w, fm.horizontalAdvance(s)); s = d->textFromValue(d->maximum); s.truncate(18); s += fixedContent; - w = qMax(w, fm.width(s)); + w = qMax(w, fm.horizontalAdvance(s)); if (d->specialValueText.size()) { s = d->specialValueText; - w = qMax(w, fm.width(s)); + w = qMax(w, fm.horizontalAdvance(s)); } w += 2; // cursor blinking space @@ -911,15 +911,15 @@ QSize QAbstractSpinBox::minimumSizeHint() const s = d->textFromValue(d->minimum); s.truncate(18); s += fixedContent; - w = qMax(w, fm.width(s)); + w = qMax(w, fm.horizontalAdvance(s)); s = d->textFromValue(d->maximum); s.truncate(18); s += fixedContent; - w = qMax(w, fm.width(s)); + w = qMax(w, fm.horizontalAdvance(s)); if (d->specialValueText.size()) { s = d->specialValueText; - w = qMax(w, fm.width(s)); + w = qMax(w, fm.horizontalAdvance(s)); } w += 2; // cursor blinking space diff --git a/src/widgets/widgets/qcalendarwidget.cpp b/src/widgets/widgets/qcalendarwidget.cpp index 71ad2cf093..059fb21295 100644 --- a/src/widgets/widgets/qcalendarwidget.cpp +++ b/src/widgets/widgets/qcalendarwidget.cpp @@ -2196,7 +2196,7 @@ QSize QCalendarWidget::minimumSizeHint() const } else { for (int i = 1; i <= 7; i++) { QFontMetrics fm(d->m_model->formatForCell(0, i).font()); - w = qMax(w, fm.width(d->m_model->dayName(d->m_model->dayOfWeekForColumn(i))) + marginH); + w = qMax(w, fm.horizontalAdvance(d->m_model->dayName(d->m_model->dayOfWeekForColumn(i))) + marginH); h = qMax(h, fm.height()); } } @@ -2207,14 +2207,14 @@ QSize QCalendarWidget::minimumSizeHint() const for (int i = 1; i <= 6; i++) { QFontMetrics fm(d->m_model->formatForCell(i, 0).font()); for (int j = 1; j < end; j++) - w = qMax(w, fm.width(QString::number(j)) + marginH); + w = qMax(w, fm.horizontalAdvance(QString::number(j)) + marginH); h = qMax(h, fm.height()); } } QFontMetrics fm(d->m_model->formatForCell(1, 1).font()); for (int i = 1; i <= end; i++) { - w = qMax(w, fm.width(QString::number(i)) + marginH); + w = qMax(w, fm.horizontalAdvance(QString::number(i)) + marginH); h = qMax(h, fm.height()); } diff --git a/src/widgets/widgets/qcombobox.cpp b/src/widgets/widgets/qcombobox.cpp index 9afb4b3ae6..b743af2569 100644 --- a/src/widgets/widgets/qcombobox.cpp +++ b/src/widgets/widgets/qcombobox.cpp @@ -312,7 +312,7 @@ int QComboBoxPrivate::computeWidthHint() const const QFontMetrics &fontMetrics = q->fontMetrics(); for (int i = 0; i < count; ++i) { - const int textWidth = fontMetrics.width(q->itemText(i)); + const int textWidth = fontMetrics.horizontalAdvance(q->itemText(i)); if (q->itemIcon(i).isNull()) width = (qMax(width, textWidth)); else @@ -341,7 +341,7 @@ QSize QComboBoxPrivate::recomputeSizeHint(QSize &sh) const case QComboBox::AdjustToContents: case QComboBox::AdjustToContentsOnFirstShow: if (count == 0) { - sh.rwidth() = 7 * fm.width(QLatin1Char('x')); + sh.rwidth() = 7 * fm.horizontalAdvance(QLatin1Char('x')); } else { for (int i = 0; i < count; ++i) { if (!q->itemIcon(i).isNull()) { @@ -364,7 +364,7 @@ QSize QComboBoxPrivate::recomputeSizeHint(QSize &sh) const hasIcon = !q->itemIcon(i).isNull(); } if (minimumContentsLength > 0) - sh.setWidth(qMax(sh.width(), minimumContentsLength * fm.width(QLatin1Char('X')) + (hasIcon ? iconSize.width() + 4 : 0))); + sh.setWidth(qMax(sh.width(), minimumContentsLength * fm.horizontalAdvance(QLatin1Char('X')) + (hasIcon ? iconSize.width() + 4 : 0))); // height diff --git a/src/widgets/widgets/qcommandlinkbutton.cpp b/src/widgets/widgets/qcommandlinkbutton.cpp index b6ec2a8d31..68dfefb3b7 100644 --- a/src/widgets/widgets/qcommandlinkbutton.cpp +++ b/src/widgets/widgets/qcommandlinkbutton.cpp @@ -318,7 +318,7 @@ QSize QCommandLinkButton::sizeHint() const QSize size = QPushButton::sizeHint(); QFontMetrics fm(d->titleFont()); - int textWidth = qMax(fm.width(text()), 135); + int textWidth = qMax(fm.horizontalAdvance(text()), 135); int buttonWidth = textWidth + d->textOffset() + d->rightMargin(); int heightWithoutDescription = d->descriptionOffset() + d->bottomMargin(); diff --git a/src/widgets/widgets/qdatetimeedit.cpp b/src/widgets/widgets/qdatetimeedit.cpp index 6d3e44d21e..17cea09b1f 100644 --- a/src/widgets/widgets/qdatetimeedit.cpp +++ b/src/widgets/widgets/qdatetimeedit.cpp @@ -966,12 +966,12 @@ QSize QDateTimeEdit::sizeHint() const int w = 0; QString s; s = d->textFromValue(d->minimum) + QLatin1Char(' '); - w = qMax<int>(w, fm.width(s)); + w = qMax<int>(w, fm.horizontalAdvance(s)); s = d->textFromValue(d->maximum) + QLatin1Char(' '); - w = qMax<int>(w, fm.width(s)); + w = qMax<int>(w, fm.horizontalAdvance(s)); if (d->specialValueText.size()) { s = d->specialValueText; - w = qMax<int>(w, fm.width(s)); + w = qMax<int>(w, fm.horizontalAdvance(s)); } w += 2; // cursor blinking space diff --git a/src/widgets/widgets/qfontcombobox.cpp b/src/widgets/widgets/qfontcombobox.cpp index 49f1223d9c..1d0e7cfd68 100644 --- a/src/widgets/widgets/qfontcombobox.cpp +++ b/src/widgets/widgets/qfontcombobox.cpp @@ -263,7 +263,7 @@ void QFontFamilyDelegate::paint(QPainter *painter, system = writingSystem; if (system != QFontDatabase::Any) { - int w = painter->fontMetrics().width(text + QLatin1String(" ")); + int w = painter->fontMetrics().horizontalAdvance(text + QLatin1String(" ")); painter->setFont(font2); QString sample = QFontDatabase().writingSystemSample(system); if (option.direction == Qt::RightToLeft) @@ -287,7 +287,7 @@ QSize QFontFamilyDelegate::sizeHint(const QStyleOptionViewItem &option, // font.setFamily(text); font.setPointSize(QFontInfo(font).pointSize() * 3/2); QFontMetrics fontMetrics(font); - return QSize(fontMetrics.width(text), fontMetrics.height()); + return QSize(fontMetrics.horizontalAdvance(text), fontMetrics.height()); } @@ -554,7 +554,7 @@ QSize QFontComboBox::sizeHint() const { QSize sz = QComboBox::sizeHint(); QFontMetrics fm(font()); - sz.setWidth(fm.width(QLatin1Char('m'))*14); + sz.setWidth(fm.horizontalAdvance(QLatin1Char('m'))*14); return sz; } diff --git a/src/widgets/widgets/qgroupbox.cpp b/src/widgets/widgets/qgroupbox.cpp index 611f3f88db..69eac1ebf7 100644 --- a/src/widgets/widgets/qgroupbox.cpp +++ b/src/widgets/widgets/qgroupbox.cpp @@ -484,7 +484,7 @@ QSize QGroupBox::minimumSizeHint() const QFontMetrics metrics(fontMetrics()); - int baseWidth = metrics.width(d->title) + metrics.width(QLatin1Char(' ')); + int baseWidth = metrics.horizontalAdvance(d->title) + metrics.horizontalAdvance(QLatin1Char(' ')); int baseHeight = metrics.height(); if (d->checkable) { baseWidth += style()->pixelMetric(QStyle::PM_IndicatorWidth); diff --git a/src/widgets/widgets/qlabel.cpp b/src/widgets/widgets/qlabel.cpp index 70dc13287d..ee4825d3e5 100644 --- a/src/widgets/widgets/qlabel.cpp +++ b/src/widgets/widgets/qlabel.cpp @@ -583,7 +583,7 @@ QSize QLabelPrivate::sizeForWidth(int w) const int m = indent; if (m < 0 && q->frameWidth()) // no indent, but we do have a frame - m = fm.width(QLatin1Char('x')) - margin*2; + m = fm.horizontalAdvance(QLatin1Char('x')) - margin*2; if (m > 0) { if ((align & Qt::AlignLeft) || (align & Qt::AlignRight)) hextra += m; @@ -1440,7 +1440,7 @@ QRect QLabelPrivate::documentRect() const : q->layoutDirection(), QFlag(this->align)); int m = indent; if (m < 0 && q->frameWidth()) // no indent, but we do have a frame - m = q->fontMetrics().width(QLatin1Char('x')) / 2 - margin; + m = q->fontMetrics().horizontalAdvance(QLatin1Char('x')) / 2 - margin; if (m > 0) { if (align & Qt::AlignLeft) cr.setLeft(cr.left() + m); diff --git a/src/widgets/widgets/qlineedit.cpp b/src/widgets/widgets/qlineedit.cpp index d0a794222e..94f13c6984 100644 --- a/src/widgets/widgets/qlineedit.cpp +++ b/src/widgets/widgets/qlineedit.cpp @@ -682,7 +682,7 @@ QSize QLineEdit::sizeHint() const int h = qMax(fm.height(), 14) + 2*d->verticalMargin + d->topTextMargin + d->bottomTextMargin + d->topmargin + d->bottommargin; - int w = fm.width(QLatin1Char('x')) * 17 + 2*d->horizontalMargin + int w = fm.horizontalAdvance(QLatin1Char('x')) * 17 + 2*d->horizontalMargin + d->effectiveLeftTextMargin() + d->effectiveRightTextMargin() + d->leftmargin + d->rightmargin; // "some" QStyleOptionFrame opt; diff --git a/src/widgets/widgets/qmenu.cpp b/src/widgets/widgets/qmenu.cpp index c4bb02fd5b..64c4fc5666 100644 --- a/src/widgets/widgets/qmenu.cpp +++ b/src/widgets/widgets/qmenu.cpp @@ -435,13 +435,13 @@ void QMenuPrivate::updateActionRects(const QRect &screen) const QString s = action->text(); int t = s.indexOf(QLatin1Char('\t')); if (t != -1) { - tabWidth = qMax(int(tabWidth), qfm.width(s.mid(t+1))); + tabWidth = qMax(int(tabWidth), qfm.horizontalAdvance(s.mid(t+1))); s = s.left(t); #ifndef QT_NO_SHORTCUT } else if (action->isShortcutVisibleInContextMenu() || !contextMenu) { QKeySequence seq = action->shortcut(); if (!seq.isEmpty()) - tabWidth = qMax(int(tabWidth), qfm.width(seq.toString(QKeySequence::NativeText))); + tabWidth = qMax(int(tabWidth), qfm.horizontalAdvance(seq.toString(QKeySequence::NativeText))); #endif } sz.setWidth(fm.boundingRect(QRect(), Qt::TextSingleLine | Qt::TextShowMnemonic, s).width()); diff --git a/src/widgets/widgets/qplaintextedit.cpp b/src/widgets/widgets/qplaintextedit.cpp index 9f23169736..e66b702ffd 100644 --- a/src/widgets/widgets/qplaintextedit.cpp +++ b/src/widgets/widgets/qplaintextedit.cpp @@ -364,7 +364,7 @@ void QPlainTextDocumentLayout::layoutBlock(const QTextBlock &block) int extraMargin = 0; if (option.flags() & QTextOption::AddSpaceForLineAndParagraphSeparators) { QFontMetrics fm(block.charFormat().font()); - extraMargin += fm.width(QChar(0x21B5)); + extraMargin += fm.horizontalAdvance(QChar(0x21B5)); } tl->beginLayout(); qreal availableWidth = d->width; diff --git a/src/widgets/widgets/qprogressbar.cpp b/src/widgets/widgets/qprogressbar.cpp index 91f7efa08c..56253b8e44 100644 --- a/src/widgets/widgets/qprogressbar.cpp +++ b/src/widgets/widgets/qprogressbar.cpp @@ -421,7 +421,7 @@ QSize QProgressBar::sizeHint() const QStyleOptionProgressBar opt; initStyleOption(&opt); int cw = style()->pixelMetric(QStyle::PM_ProgressBarChunkWidth, &opt, this); - QSize size = QSize(qMax(9, cw) * 7 + fm.width(QLatin1Char('0')) * 4, fm.height() + 8); + QSize size = QSize(qMax(9, cw) * 7 + fm.horizontalAdvance(QLatin1Char('0')) * 4, fm.height() + 8); if (opt.orientation == Qt::Vertical) size = size.transposed(); return style()->sizeFromContents(QStyle::CT_ProgressBar, &opt, size, this); diff --git a/src/widgets/widgets/qtoolbutton.cpp b/src/widgets/widgets/qtoolbutton.cpp index 96b88340cd..c2bf13a3e9 100644 --- a/src/widgets/widgets/qtoolbutton.cpp +++ b/src/widgets/widgets/qtoolbutton.cpp @@ -348,7 +348,7 @@ QSize QToolButton::sizeHint() const if (opt.toolButtonStyle != Qt::ToolButtonIconOnly) { QSize textSize = fm.size(Qt::TextShowMnemonic, text()); - textSize.setWidth(textSize.width() + fm.width(QLatin1Char(' '))*2); + textSize.setWidth(textSize.width() + fm.horizontalAdvance(QLatin1Char(' '))*2); if (opt.toolButtonStyle == Qt::ToolButtonTextUnderIcon) { h += 4 + textSize.height(); if (textSize.width() > w) diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index 5712ea6151..6a8d6a3654 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -1414,7 +1414,7 @@ QRectF QWidgetTextControlPrivate::rectForPosition(int position) const if (relativePos < line.textLength() - line.textStart()) w = line.cursorToX(relativePos + 1) - x; else - w = QFontMetrics(block.layout()->font()).width(QLatin1Char(' ')); // in sync with QTextLine::draw() + w = QFontMetrics(block.layout()->font()).horizontalAdvance(QLatin1Char(' ')); // in sync with QTextLine::draw() } r = QRectF(layoutPos.x() + x, layoutPos.y() + line.y(), cursorWidth + w, line.height()); |