aboutsummaryrefslogtreecommitdiff
path: root/include/aotextarea.h
blob: 453e96599505e1b5dbc5f3e23c16cc9f03c85e3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef AOTEXTAREA_H
#define AOTEXTAREA_H

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

class AOTextArea : public QTextBrowser {
public:
  AOTextArea(QWidget *p_parent = nullptr);

  void append_linked(QString p_message);
  void append_chatmessage(QString p_name, QString p_message, QString p_colur);
  void append_error(QString p_message);

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

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

#endif // AOTEXTAREA_H