From c64a1bf7592cac57032080c36e4514d4de2a8a95 Mon Sep 17 00:00:00 2001 From: Konstantinos Sideris Date: Wed, 26 Sep 2018 15:17:14 +0300 Subject: Move TextLabel into its own file --- src/ui/TextLabel.h | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/ui/TextLabel.h (limited to 'src/ui/TextLabel.h') diff --git a/src/ui/TextLabel.h b/src/ui/TextLabel.h new file mode 100644 index 00000000..da6e9c4b --- /dev/null +++ b/src/ui/TextLabel.h @@ -0,0 +1,38 @@ +#pragma once + +#include +#include +#include +#include + +class QMouseEvent; +class QFocusEvent; +class QWheelEvent; + +class TextLabel : public QTextBrowser +{ + Q_OBJECT + +public: + TextLabel(const QString &text, QWidget *parent = nullptr); + TextLabel(QWidget *parent = nullptr); + + void wheelEvent(QWheelEvent *event) override; + void clearLinks() { link_.clear(); } + +protected: + void mousePressEvent(QMouseEvent *e) override; + void mouseReleaseEvent(QMouseEvent *e) override; + void focusOutEvent(QFocusEvent *e) override; + +private slots: + void adjustHeight(const QSizeF &size) { setFixedHeight(size.height()); } + void handleLinkActivation(const QUrl &link); + +signals: + void userProfileTriggered(const QString &user_id); + void linkActivated(const QUrl &link); + +private: + QString link_; +}; -- cgit 1.5.1