PrismLauncher/launcher/ui/widgets/LogView.h

36 lines
1.0 KiB
C
Raw Normal View History

#pragma once
#include <QAbstractItemView>
#include <QPlainTextEdit>
class QAbstractItemModel;
class LogView : public QPlainTextEdit {
2018-07-15 13:51:05 +01:00
Q_OBJECT
public:
explicit LogView(QWidget* parent = nullptr);
2018-07-15 13:51:05 +01:00
virtual ~LogView();
virtual void setModel(QAbstractItemModel* model);
QAbstractItemModel* model() const;
public slots:
2018-07-15 13:51:05 +01:00
void setWordWrap(bool wrapping);
void findNext(const QString& what, bool reverse);
2018-07-15 13:51:05 +01:00
void scrollToBottom();
protected slots:
2018-07-15 13:51:05 +01:00
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);
2018-07-15 13:51:05 +01:00
// 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;
2018-07-15 13:51:05 +01:00
bool m_scroll = false;
bool m_scrolling = false;
};