Yihe Li 1ee1bab067
Add color lines button
Signed-off-by: Yihe Li <winmikedows@hotmail.com>
2025-04-15 05:07:56 +08:00

38 lines
1.1 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 setColorLines(bool colorLines);
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;
bool m_colorLines = true;
};