From 7f4e230d9a3a5724437b5993523027ab3a04a324 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 16 Feb 2018 03:37:40 +0100 Subject: [PATCH] Ref T252, get count of messages per severity --- src/blackmisc/statusmessagelist.cpp | 14 ++++++++++++++ src/blackmisc/statusmessagelist.h | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/src/blackmisc/statusmessagelist.cpp b/src/blackmisc/statusmessagelist.cpp index 727607e6f..52f77db42 100644 --- a/src/blackmisc/statusmessagelist.cpp +++ b/src/blackmisc/statusmessagelist.cpp @@ -186,6 +186,20 @@ namespace BlackMisc return s; } + QMap CStatusMessageList::countSeverities() const + { + QMap counts; + counts.insert(SeverityDebug, 0); + counts.insert(SeverityInfo, 0); + counts.insert(SeverityWarning, 0); + counts.insert(SeverityError, 0); + for (const CStatusMessage &m : *this) + { + counts[m.getSeverity()]++; + } + return counts; + } + CStatusMessage CStatusMessageList::toSingleMessage() const { if (this->isEmpty()) { return CStatusMessage(); } diff --git a/src/blackmisc/statusmessagelist.h b/src/blackmisc/statusmessagelist.h index ac1dab5b5..285a3fb88 100644 --- a/src/blackmisc/statusmessagelist.h +++ b/src/blackmisc/statusmessagelist.h @@ -24,6 +24,7 @@ #include #include #include +#include namespace BlackMisc { @@ -110,6 +111,9 @@ namespace BlackMisc //! Find worst severity CStatusMessage::StatusSeverity worstSeverity() const; + //! Count number of messages per severity + QMap countSeverities() const; + //! Merge into a single message CStatusMessage toSingleMessage() const;