aboutsummaryrefslogtreecommitdiff
path: root/src/aotextarea.h
blob: b24ab2db0f91d037c9b78b1d6df79fa54925365d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once

#include <QDebug>
#include <QRegularExpression>
#include <QScrollBar>
#include <QTextBrowser>
#include <QTextCursor>

class AOTextArea : public QTextBrowser
{
  Q_OBJECT

public:
  AOTextArea(QWidget *parent = nullptr);
  AOTextArea(int maximumLogLenth, QWidget *parent = nullptr);

  void addMessage(QString name, QString message, QString nameColor, QString messageColor = QString());

private:
  const QRegularExpression url_parser_regex = QRegularExpression("\\b(https?://\\S+\\.\\S+)\\b");

  void auto_scroll(QTextCursor old_cursor, int scrollbar_value, bool is_scrolled_down);
};