diff --git a/src/blackmisc/statusmessage.h b/src/blackmisc/statusmessage.h index 4df907ab6..23939bce2 100644 --- a/src/blackmisc/statusmessage.h +++ b/src/blackmisc/statusmessage.h @@ -105,6 +105,12 @@ namespace BlackMisc //! Severity void setSeverity(StatusSeverity severity) { this->m_severity = severity; } + //! Add category + void addCategory(const CLogCategory &category) { this->m_categories.push_back(category); } + + //! Add categories + void addCategories(const CLogCategoryList &categories) { this->m_categories.push_back(categories); } + //! Representing icon virtual CIcon toIcon() const override { return convertToIcon(*this); } diff --git a/src/blackmisc/statusmessagelist.cpp b/src/blackmisc/statusmessagelist.cpp index 43d00f665..7c85e79ff 100644 --- a/src/blackmisc/statusmessagelist.cpp +++ b/src/blackmisc/statusmessagelist.cpp @@ -35,6 +35,28 @@ namespace BlackMisc return this->findBy(&CStatusMessage::getSeverity, severity); } + /* + * Add category + */ + void CStatusMessageList::addCategory(const CLogCategory &category) + { + for (auto &msg : *this) + { + msg.addCategory(category); + } + } + + /* + * Add categories + */ + void CStatusMessageList::addCategories(const CLogCategoryList &categories) + { + for (auto &msg : *this) + { + msg.addCategories(categories); + } + } + /* * Metadata */ diff --git a/src/blackmisc/statusmessagelist.h b/src/blackmisc/statusmessagelist.h index e3933a2e6..06695614c 100644 --- a/src/blackmisc/statusmessagelist.h +++ b/src/blackmisc/statusmessagelist.h @@ -38,6 +38,12 @@ namespace BlackMisc //! Find by severity CStatusMessageList findBySeverity(CStatusMessage::StatusSeverity severity) const; + //! Add a category to all messages in the list + void addCategory(const CLogCategory &category); + + //! Add some categories to all messages in the list + void addCategories(const CLogCategoryList &categories); + //! \copydoc CValueObject::toQVariant virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }