91ba4cf75e
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
36 lines
1.0 KiB
C++
36 lines
1.0 KiB
C++
#pragma once
|
|
#include <QAbstractItemView>
|
|
#include <QPlainTextEdit>
|
|
|
|
class QAbstractItemModel;
|
|
|
|
class LogView : public QPlainTextEdit {
|
|
Q_OBJECT
|
|
public:
|
|
explicit LogView(QWidget* parent = nullptr);
|
|
virtual ~LogView();
|
|
|
|
virtual void setModel(QAbstractItemModel* model);
|
|
QAbstractItemModel* model() const;
|
|
|
|
public slots:
|
|
void setWordWrap(bool wrapping);
|
|
void findNext(const QString& what, bool reverse);
|
|
void scrollToBottom();
|
|
|
|
protected slots:
|
|
void repopulate();
|
|
// note: this supports only appending
|
|
void rowsInserted(const QModelIndex& parent, int first, int last);
|
|
void rowsAboutToBeInserted(const QModelIndex& parent, int first, int last);
|
|
// note: this supports only removing from front
|
|
void rowsRemoved(const QModelIndex& parent, int first, int last);
|
|
void modelDestroyed(QObject* model);
|
|
|
|
protected:
|
|
QAbstractItemModel* m_model = nullptr;
|
|
QTextCharFormat* m_defaultFormat = nullptr;
|
|
bool m_scroll = false;
|
|
bool m_scrolling = false;
|
|
};
|