mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add a messageHandler to take care of qDebug & friends on QML
all qDebug / qCDebug and friends now will be properly logged into developer -> log, on QML. Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
e7cd1785c4
commit
0ea6f13891
5 changed files with 101 additions and 7 deletions
29
qt-models/messagehandlermodel.h
Normal file
29
qt-models/messagehandlermodel.h
Normal file
|
|
@ -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
|
||||
Loading…
Add table
Add a link
Reference in a new issue