// SPDX-License-Identifier: GPL-2.0 #ifndef MESSAGEHANDLERMODEL_H #define MESSAGEHANDLERMODEL_H #include class MessageHandlerModel : public QAbstractListModel { Q_OBJECT public: static MessageHandlerModel *self(); enum MsgTypes {Message = Qt::UserRole + 1, Severity}; int rowCount(const QModelIndex& parent = QModelIndex()) const; QVariant data(const QModelIndex& idx, int role) const; QHash roleNames() const; void addLog(QtMsgType type, const QString& message); const QString logAsString(); /* call this to clear the debug data */ Q_INVOKABLE void reset(); private: MessageHandlerModel(QObject *parent = 0); struct MessageData { QString message; QtMsgType type; }; QVector m_data; }; #endif