diff options
Diffstat (limited to 'src/widgets/widgets/qstatusbar.cpp')
-rw-r--r-- | src/widgets/widgets/qstatusbar.cpp | 44 |
1 files changed, 17 insertions, 27 deletions
diff --git a/src/widgets/widgets/qstatusbar.cpp b/src/widgets/widgets/qstatusbar.cpp index 3ab7bee5ad..e398f52ac4 100644 --- a/src/widgets/widgets/qstatusbar.cpp +++ b/src/widgets/widgets/qstatusbar.cpp @@ -18,7 +18,7 @@ #include "qmainwindow.h" #endif -#ifndef QT_NO_ACCESSIBILITY +#if QT_CONFIG(accessibility) #include "qaccessible.h" #endif @@ -151,12 +151,12 @@ QRect QStatusBarPrivate::messageRect() const Use the showMessage() slot to display a \e temporary message: - \snippet mainwindows/dockwidgets/mainwindow.cpp 8 + \snippet code/src_gui_widgets_qstatusbar.cpp 1 To remove a temporary message, use the clearMessage() slot, or set a time limit when calling showMessage(). For example: - \snippet mainwindows/dockwidgets/mainwindow.cpp 3 + \snippet code/src_gui_widgets_qstatusbar.cpp 2 Use the currentMessage() function to retrieve the temporary message currently shown. The QStatusBar class also provide the @@ -179,7 +179,7 @@ QRect QStatusBarPrivate::messageRect() const \image fusion-statusbar-sizegrip.png A status bar shown in the Fusion widget style - \sa QMainWindow, QStatusTipEvent, {Qt Widgets - Application Example} + \sa QMainWindow, QStatusTipEvent */ @@ -271,7 +271,7 @@ int QStatusBar::insertWidget(int index, QWidget *widget, int stretch) widget->hide(); reformat(); - if (!widget->isHidden() || !widget->testAttribute(Qt::WA_WState_ExplicitShowHide)) + if (!QWidgetPrivate::get(widget)->isExplicitlyHidden()) widget->show(); return index; @@ -286,7 +286,7 @@ int QStatusBar::insertWidget(int index, QWidget *widget, int stretch) minimum of space. Permanently means that the widget may not be obscured by temporary - messages. It is is located at the far right of the status bar. + messages. It is located at the far right of the status bar. \sa insertPermanentWidget(), removeWidget(), addWidget() */ @@ -298,7 +298,6 @@ void QStatusBar::addPermanentWidget(QWidget * widget, int stretch) insertPermanentWidget(d_func()->items.size(), widget, stretch); } - /*! \since 4.2 @@ -313,7 +312,7 @@ void QStatusBar::addPermanentWidget(QWidget * widget, int stretch) minimum of space. Permanently means that the widget may not be obscured by temporary - messages. It is is located at the far right of the status bar. + messages. It is located at the far right of the status bar. \sa addPermanentWidget(), removeWidget(), addWidget() */ @@ -333,7 +332,7 @@ int QStatusBar::insertPermanentWidget(int index, QWidget *widget, int stretch) d->items.insert(index, item); reformat(); - if (!widget->isHidden() || !widget->testAttribute(Qt::WA_WState_ExplicitShowHide)) + if (!QWidgetPrivate::get(widget)->isExplicitlyHidden()) widget->show(); return index; @@ -355,19 +354,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."); @@ -504,7 +494,7 @@ void QStatusBar::showMessage(const QString &message, int timeout) if (timeout > 0) { if (!d->timer) { d->timer = new QTimer(this); - connect(d->timer, SIGNAL(timeout()), this, SLOT(clearMessage())); + connect(d->timer, &QTimer::timeout, this, &QStatusBar::clearMessage); } d->timer->start(timeout); } else if (d->timer) { @@ -530,7 +520,7 @@ void QStatusBar::clearMessage() if (d->tempItem.isEmpty()) return; if (d->timer) { - qDeleteInEventHandler(d->timer); + delete d->timer; d->timer = nullptr; } d->tempItem.clear(); @@ -570,7 +560,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()) { @@ -583,7 +573,7 @@ void QStatusBar::hideOrShow() emit messageChanged(d->tempItem); -#ifndef QT_NO_ACCESSIBILITY +#if QT_CONFIG(accessibility) if (QAccessible::isActive()) { QAccessibleEvent event(this, QAccessible::NameChanged); QAccessible::updateAccessibility(&event); @@ -622,7 +612,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 +651,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); } |