From 3205e5fdd303ccfc7f5a4bd5d236d2fbb5add2f6 Mon Sep 17 00:00:00 2001 From: Rokas Kupstys Date: Fri, 20 Oct 2017 20:58:23 +0300 Subject: Make sidebar topic expand on click and fix html formatting of elided text. (#96) Fixes #95 --- include/TopRoomBar.h | 5 +++-- include/ui/Label.h | 26 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 include/ui/Label.h (limited to 'include') diff --git a/include/TopRoomBar.h b/include/TopRoomBar.h index 87037574..1b1d148c 100644 --- a/include/TopRoomBar.h +++ b/include/TopRoomBar.h @@ -29,6 +29,7 @@ #include "Avatar.h" #include "FlatButton.h" +#include "Label.h" #include "LeaveRoomDialog.h" #include "Menu.h" #include "OverlayModal.h" @@ -58,6 +59,7 @@ signals: protected: void paintEvent(QPaintEvent *event) override; + void mousePressEvent(QMouseEvent *event) override; private slots: void closeLeaveRoomDialog(bool leaving); @@ -67,7 +69,7 @@ private: QVBoxLayout *textLayout_; QLabel *nameLabel_; - QLabel *topicLabel_; + Label *topicLabel_; QSharedPointer roomSettings_; @@ -112,7 +114,6 @@ TopRoomBar::updateRoomName(const QString &name) inline void TopRoomBar::updateRoomTopic(QString topic) { - topic.replace(URL_REGEX, URL_HTML); roomTopic_ = topic; update(); } diff --git a/include/ui/Label.h b/include/ui/Label.h new file mode 100644 index 00000000..66e98115 --- /dev/null +++ b/include/ui/Label.h @@ -0,0 +1,26 @@ +#pragma once + +#include + +class Label : public QLabel +{ + Q_OBJECT + +public: + explicit Label(QWidget *parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags()); + explicit Label(const QString &text, + QWidget *parent = Q_NULLPTR, + Qt::WindowFlags f = Qt::WindowFlags()); + ~Label() override {} + +signals: + void clicked(QMouseEvent *e); + void pressed(QMouseEvent *e); + void released(QMouseEvent *e); + +protected: + void mousePressEvent(QMouseEvent *e) override; + void mouseReleaseEvent(QMouseEvent *e) override; + + QPoint pressPosition_; +}; -- cgit 1.5.1