diff options
Diffstat (limited to 'src/widgets/widgets/qstatusbar.cpp')
-rw-r--r-- | src/widgets/widgets/qstatusbar.cpp | 21 |
1 files changed, 6 insertions, 15 deletions
diff --git a/src/widgets/widgets/qstatusbar.cpp b/src/widgets/widgets/qstatusbar.cpp index d5ae7d5cd2..2cd3ac3036 100644 --- a/src/widgets/widgets/qstatusbar.cpp +++ b/src/widgets/widgets/qstatusbar.cpp @@ -355,19 +355,10 @@ void QStatusBar::removeWidget(QWidget *widget) return; Q_D(QStatusBar); - bool found = false; - for (int i = 0; i < d->items.size(); ++i) { - const auto &item = d->items.at(i); - if (item.widget == widget) { - d->items.removeAt(i); - item.widget->hide(); - found = true; - break; - } - } - - if (found) + if (d->items.removeIf([widget](const auto &item) { return item.widget == widget; })) { + widget->hide(); reformat(); + } #if defined(QT_DEBUG) else qDebug("QStatusBar::removeWidget(): Widget not found."); @@ -570,7 +561,7 @@ void QStatusBar::hideOrShow() Q_D(QStatusBar); bool haveMessage = !d->tempItem.isEmpty(); - for (const auto &item : qAsConst(d->items)) { + for (const auto &item : std::as_const(d->items)) { if (item.isPermanent()) break; if (haveMessage && item.widget->isVisible()) { @@ -622,7 +613,7 @@ void QStatusBar::paintEvent(QPaintEvent *event) opt.initFrom(this); style()->drawPrimitive(QStyle::PE_PanelStatusBar, &opt, &p, this); - for (const auto &item : qAsConst(d->items)) { + for (const auto &item : std::as_const(d->items)) { if (item.widget->isVisible() && (!haveMessage || item.isPermanent())) { QRect ir = item.widget->geometry().adjusted(-2, -1, 2, 1); if (event->rect().intersects(ir)) { @@ -661,7 +652,7 @@ bool QStatusBar::event(QEvent *e) // Calculate new strut height and call reformat() if it has changed int maxH = fontMetrics().height(); - for (const auto &item : qAsConst(d->items)) { + for (const auto &item : std::as_const(d->items)) { const int itemH = qMin(qSmartMinSize(item.widget).height(), item.widget->maximumHeight()); maxH = qMax(maxH, itemH); } |