atrooney-online-2/src/aotextarea.h
TrickyLeifa 1ef96383c8 Lightly reworked NetworkManager, ...
* Lightly reworked `NetworkManager`
* Added new modules to handle various connection types.
  * TCP
  * WebSocket
* Added general string splitter alias based on Qt version.
* Replaced `lobby_constructed` and `courtroom_constructed`
* Refactored and partially reimplemented the following classes:
  * `AOBlipPlayer`
  * `AOEmotePreview`
  * `AOMusicPlayer`
  * `AOSfxPlayer`
  * `AOTextArea`
2024-05-17 19:04:57 +02:00

24 lines
600 B
C++

#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);
};