summaryrefslogtreecommitdiffstats
path: root/qt-models/messagehandlermodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'qt-models/messagehandlermodel.h')
-rw-r--r--qt-models/messagehandlermodel.h29
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