From 0f888b8d89f5039d2b7c110e0818506deaaac247 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Fri, 24 Oct 2014 00:34:52 +0100 Subject: [PATCH] refs #338 Severity strings. --- src/blackmisc/statusmessage.cpp | 49 +++++++++++++++++++++++++++++++-- src/blackmisc/statusmessage.h | 11 +++++++- 2 files changed, 57 insertions(+), 3 deletions(-) diff --git a/src/blackmisc/statusmessage.cpp b/src/blackmisc/statusmessage.cpp index d805f6431..d1b4a3f53 100644 --- a/src/blackmisc/statusmessage.cpp +++ b/src/blackmisc/statusmessage.cpp @@ -164,9 +164,37 @@ namespace BlackMisc /* * Severity */ - const QString &CStatusMessage::getSeverityAsString() const + CStatusMessage::StatusSeverity CStatusMessage::stringToSeverity(const QString &severity) { - switch (this->m_severity) + if (severity.compare(severityToString(SeverityDebug), Qt::CaseInsensitive) == 0) + { + return SeverityDebug; + } + else if (severity.compare(severityToString(SeverityInfo), Qt::CaseInsensitive) == 0) + { + return SeverityInfo; + } + else if (severity.compare(severityToString(SeverityWarning), Qt::CaseInsensitive) == 0) + { + return SeverityWarning; + } + else if (severity.compare(severityToString(SeverityError), Qt::CaseInsensitive) == 0) + { + return SeverityError; + } + else + { + qFatal("Unknown severity string"); + return SeverityError; + } + } + + /* + * Severity + */ + const QString &CStatusMessage::severityToString(CStatusMessage::StatusSeverity severity) + { + switch (severity) { case SeverityDebug: { @@ -195,6 +223,23 @@ namespace BlackMisc } } + /* + * Severity + */ + const QString &CStatusMessage::getSeverityAsString() const + { + return severityToString(this->m_severity); + } + + /* + * Severity + */ + const QStringList &CStatusMessage::allSeverityStrings() + { + static const QStringList all { severityToString(SeverityDebug), severityToString(SeverityInfo), severityToString(SeverityWarning), severityToString(SeverityError) }; + return all; + } + /* * Property by index */ diff --git a/src/blackmisc/statusmessage.h b/src/blackmisc/statusmessage.h index e4d397d45..04023950e 100644 --- a/src/blackmisc/statusmessage.h +++ b/src/blackmisc/statusmessage.h @@ -99,9 +99,18 @@ namespace BlackMisc //! Representing icon virtual CIcon toIcon() const override { return CStatusMessage::convertToIcon(*this); } - //! Type as string + //! Severity as string const QString &getSeverityAsString() const; + //! Severity as string + static const QString &severityToString(StatusSeverity severity); + + //! Severity as string + static StatusSeverity stringToSeverity(const QString &severityString); + + //! Severities as strings + static const QStringList &allSeverityStrings(); + //! \copydoc CValueObject::propertyByIndex(int) virtual QVariant propertyByIndex(const BlackMisc::CPropertyIndex &index) const override;