diff options
Diffstat (limited to 'qt-models/messagehandlermodel.h')
-rw-r--r-- | qt-models/messagehandlermodel.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/qt-models/messagehandlermodel.h b/qt-models/messagehandlermodel.h new file mode 100644 index 000000000..7fb5c6515 --- /dev/null +++ b/qt-models/messagehandlermodel.h @@ -0,0 +1,29 @@ +#ifndef MESSAGEHANDLERMODEL_H +#define MESSAGEHANDLERMODEL_H + +#include <QAbstractListModel> + + +class MessageHandlerModel : public QAbstractListModel { + Q_OBJECT +public: + static MessageHandlerModel *self(); + enum MsgTypes {Message = Qt::UserRole + 1, Severity}; + int rowCount(const QModelIndex& parent = QModelIndex()) const override; + QVariant data(const QModelIndex& idx, int role) const override; + QHash<int, QByteArray> roleNames() const override; + void addLog(QtMsgType type, const QString& message); + + /* call this to clear the debug data */ + Q_INVOKABLE void reset(); + +private: + MessageHandlerModel(QObject *parent = 0); + struct MessageData { + QString message; + QtMsgType type; + }; + QVector<MessageData> m_data; +}; + +#endif |