subsurface/qt-models/messagehandlermodel.h
Dirk Hohndel 2d8489158d Make message handler write to console as well
This way we can see the debug output even if the app is hung or crashes.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2017-06-11 13:55:41 -07:00

30 lines
765 B
C++

// SPDX-License-Identifier: GPL-2.0
#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