mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	This way we can see the debug output even if the app is hung or crashes. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			765 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			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
 |