diff options
author | Liang Qi <liang.qi@qt.io> | 2017-02-28 13:03:36 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-02-28 13:03:36 +0100 |
commit | 1a4f0deeb44e2bfb107a22a714df3796ac1d0c20 (patch) | |
tree | b1c8db2d1b742d25106225c80893e0b32f98fb15 /src/widgets/dialogs | |
parent | db0064b767474a89bc72ea4374f477682983c5f4 (diff) | |
parent | 35fa30e65d26b9e4840cfa793ed8369b3475c1fd (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Change-Id: I7d84cfed0b2a122d334b8a920e6e4f18472d2f11
Diffstat (limited to 'src/widgets/dialogs')
-rw-r--r-- | src/widgets/dialogs/qerrormessage.cpp | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/widgets/dialogs/qerrormessage.cpp b/src/widgets/dialogs/qerrormessage.cpp index 5fcbe3fe9d..8200135abe 100644 --- a/src/widgets/dialogs/qerrormessage.cpp +++ b/src/widgets/dialogs/qerrormessage.cpp @@ -62,6 +62,13 @@ QT_BEGIN_NAMESPACE +namespace { +struct Message { + QString content; + QString type; +}; +} + class QErrorMessagePrivate : public QDialogPrivate { Q_DECLARE_PUBLIC(QErrorMessage) @@ -70,7 +77,7 @@ public: QCheckBox * again; QTextEdit * errors; QLabel * icon; - std::queue<QPair<QString, QString> > pending; + std::queue<Message> pending; QSet<QString> doNotShow; QSet<QString> doNotShowType; QString currentMessage; @@ -163,14 +170,20 @@ static void jump(QtMsgType t, const QMessageLogContext & /*context*/, const QStr switch (t) { case QtDebugMsg: - default: rich = QErrorMessage::tr("Debug Message:"); break; case QtWarningMsg: rich = QErrorMessage::tr("Warning:"); break; + case QtCriticalMsg: + rich = QErrorMessage::tr("Critical Error:"); + break; case QtFatalMsg: rich = QErrorMessage::tr("Fatal Error:"); + break; + case QtInfoMsg: + rich = QErrorMessage::tr("Information:"); + break; } rich = QString::fromLatin1("<p><b>%1</b></p>").arg(rich); rich += Qt::convertFromPlainText(m, Qt::WhiteSpaceNormal); @@ -297,9 +310,8 @@ bool QErrorMessagePrivate::isMessageToBeShown(const QString &message, const QStr bool QErrorMessagePrivate::nextPending() { while (!pending.empty()) { - QPair<QString,QString> &pendingMessage = pending.front(); - QString message = qMove(pendingMessage.first); - QString type = qMove(pendingMessage.second); + QString message = std::move(pending.front().content); + QString type = std::move(pending.front().type); pending.pop(); if (isMessageToBeShown(message, type)) { #ifndef QT_NO_TEXTHTMLPARSER @@ -349,7 +361,7 @@ void QErrorMessage::showMessage(const QString &message, const QString &type) Q_D(QErrorMessage); if (!d->isMessageToBeShown(message, type)) return; - d->pending.push(qMakePair(message, type)); + d->pending.push({message, type}); if (!isVisible() && d->nextPending()) show(); } |