diff --git a/samples/blackgui/main.cpp b/samples/blackgui/main.cpp index 8762bd42e..d88a86014 100644 --- a/samples/blackgui/main.cpp +++ b/samples/blackgui/main.cpp @@ -21,10 +21,10 @@ int main(int argc, char *argv[]) BlackMisc::registerMetadata(); // BlackMisc::displayAllUserMetatypesTypes(); - QFile file(":/translations/blackmisc_i18n_de.qm"); + QFile file(":blackmisc/translations/blackmisc_i18n_de.qm"); qDebug() << (file.exists() ? "Found translations in resources" : "No translations in resources"); QTranslator translator; - translator.load("blackmisc_i18n_de", ":/translations/"); + translator.load("blackmisc_i18n_de", ":blackmisc/translations/"); // app QApplication a(argc, argv); diff --git a/src/blackgui/statusmessagelistmodel.cpp b/src/blackgui/statusmessagelistmodel.cpp index bf4ddbfc1..d025a18e1 100644 --- a/src/blackgui/statusmessagelistmodel.cpp +++ b/src/blackgui/statusmessagelistmodel.cpp @@ -36,22 +36,12 @@ namespace BlackGui { // shortcut, fast check if (role != Qt::DisplayRole && role != Qt::DecorationRole) return CListModelBase::data(modelIndex, role); - - static QPixmap w(QPixmap(":/blackgui/iconsQt/warning.png").scaledToWidth(16, Qt::SmoothTransformation)); - static QPixmap e(QPixmap(":/blackgui/iconsQt/critical.png").scaledToWidth(16, Qt::SmoothTransformation)); - static QPixmap i(QPixmap(":/blackgui/iconsQt/information.png").scaledToWidth(16, Qt::SmoothTransformation)); - if (this->columnToPropertyIndex(modelIndex.column()) == CStatusMessage::IndexSeverity) { if (role == Qt::DecorationRole) { CStatusMessage msg = this->at(modelIndex); - switch (msg.getSeverity()) - { - case CStatusMessage::SeverityError: return e; - case CStatusMessage::SeverityWarning: return w; - default: return i; - } + return msg.toIcon(); } else if (role == Qt::DisplayRole) { diff --git a/src/blackmisc/statusmessage.cpp b/src/blackmisc/statusmessage.cpp index e3031fdc8..c0ad83867 100644 --- a/src/blackmisc/statusmessage.cpp +++ b/src/blackmisc/statusmessage.cpp @@ -88,6 +88,23 @@ namespace BlackMisc return CStatusMessage(CStatusMessage::TypeUnspecific, CStatusMessage::SeverityInfo, message); } + /* + * Pixmap + */ + const QPixmap &CStatusMessage::convertToIcon(const CStatusMessage &statusMessage) + { + static QPixmap w(QPixmap(":/blackmisc/icons/warning.png").scaledToWidth(16, Qt::SmoothTransformation)); + static QPixmap e(QPixmap(":/blackmisc/icons/critical.png").scaledToWidth(16, Qt::SmoothTransformation)); + static QPixmap i(QPixmap(":/blackmisc/icons/information.png").scaledToWidth(16, Qt::SmoothTransformation)); + switch (statusMessage.getSeverity()) + { + case SeverityInfo: return i; + case SeverityWarning: return w; + case SeverityError: return e; + default: return i; + } + } + /* * Hash */ @@ -260,7 +277,7 @@ namespace BlackMisc /* * Set property as index */ - void CStatusMessage::propertyByIndex(const QVariant &variant, int index) + void CStatusMessage::setPropertyByIndex(const QVariant &variant, int index) { switch (index) { diff --git a/src/blackmisc/statusmessage.h b/src/blackmisc/statusmessage.h index 3fc46e76a..9fad5a348 100644 --- a/src/blackmisc/statusmessage.h +++ b/src/blackmisc/statusmessage.h @@ -114,6 +114,9 @@ namespace BlackMisc //! \brief Type as string const QString &getTypeAsString() const; + //! \brief representing icon + virtual const QPixmap &toIcon() const override { return CStatusMessage::convertToIcon(*this); } + //! \brief Type as string const QString &getSeverityAsString() const; @@ -159,6 +162,9 @@ namespace BlackMisc */ static CStatusMessage getInfoMessage(const QString &message); + //! \representing icon + static const QPixmap &convertToIcon(const CStatusMessage &statusMessage); + protected: /*! * \brief Marshall to DBus diff --git a/src/blackmisc/valueobject.h b/src/blackmisc/valueobject.h index 4fe2d3289..3ba43af5f 100644 --- a/src/blackmisc/valueobject.h +++ b/src/blackmisc/valueobject.h @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -173,6 +174,12 @@ namespace BlackMisc */ virtual QVariant toQVariant() const = 0; + /*! + * \brief As icon, not implement by all classes + * \return + */ + virtual const QPixmap &toIcon() const { static const QPixmap p; return p; } + /*! * \brief Set property by index * \remarks Intentionally not abstract, avoiding all classes need to implement this method