diff --git a/src/ui/TextLabel.cpp b/src/ui/TextLabel.cpp
index 3568e15c..340d3b8f 100644
--- a/src/ui/TextLabel.cpp
+++ b/src/ui/TextLabel.cpp
@@ -14,12 +14,12 @@
bool
ContextMenuFilter::eventFilter(QObject *obj, QEvent *event)
{
- if (event->type() == QEvent::MouseButtonPress) {
- emit contextMenuIsOpening();
- return true;
- }
+ if (event->type() == QEvent::MouseButtonPress) {
+ emit contextMenuIsOpening();
+ return true;
+ }
- return QObject::eventFilter(obj, event);
+ return QObject::eventFilter(obj, event);
}
TextLabel::TextLabel(QWidget *parent)
@@ -29,94 +29,94 @@ TextLabel::TextLabel(QWidget *parent)
TextLabel::TextLabel(const QString &text, QWidget *parent)
: QTextBrowser(parent)
{
- document()->setDefaultStyleSheet(QString("a {color: %1; }").arg(utils::linkColor()));
-
- setText(text);
- setOpenExternalLinks(true);
-
- // Make it look and feel like an ordinary label.
- setReadOnly(true);
- setFrameStyle(QFrame::NoFrame);
- QPalette pal = palette();
- pal.setColor(QPalette::Base, Qt::transparent);
- setPalette(pal);
-
- // Wrap anywhere but prefer words, adjust minimum height on the fly.
- setLineWrapMode(QTextEdit::WidgetWidth);
- setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
- connect(document()->documentLayout(),
- &QAbstractTextDocumentLayout::documentSizeChanged,
- this,
- &TextLabel::adjustHeight);
- document()->setDocumentMargin(0);
-
- setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
- setFixedHeight(0);
-
- connect(this, &TextLabel::linkActivated, this, &TextLabel::handleLinkActivation);
-
- auto filter = new ContextMenuFilter(this);
- installEventFilter(filter);
- connect(filter, &ContextMenuFilter::contextMenuIsOpening, this, [this]() {
- contextMenuRequested_ = true;
- });
+ document()->setDefaultStyleSheet(QString("a {color: %1; }").arg(utils::linkColor()));
+
+ setText(text);
+ setOpenExternalLinks(true);
+
+ // Make it look and feel like an ordinary label.
+ setReadOnly(true);
+ setFrameStyle(QFrame::NoFrame);
+ QPalette pal = palette();
+ pal.setColor(QPalette::Base, Qt::transparent);
+ setPalette(pal);
+
+ // Wrap anywhere but prefer words, adjust minimum height on the fly.
+ setLineWrapMode(QTextEdit::WidgetWidth);
+ setWordWrapMode(QTextOption::WrapAtWordBoundaryOrAnywhere);
+ connect(document()->documentLayout(),
+ &QAbstractTextDocumentLayout::documentSizeChanged,
+ this,
+ &TextLabel::adjustHeight);
+ document()->setDocumentMargin(0);
+
+ setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed);
+ setFixedHeight(0);
+
+ connect(this, &TextLabel::linkActivated, this, &TextLabel::handleLinkActivation);
+
+ auto filter = new ContextMenuFilter(this);
+ installEventFilter(filter);
+ connect(filter, &ContextMenuFilter::contextMenuIsOpening, this, [this]() {
+ contextMenuRequested_ = true;
+ });
}
void
TextLabel::focusOutEvent(QFocusEvent *e)
{
- QTextBrowser::focusOutEvent(e);
+ QTextBrowser::focusOutEvent(e);
- // We keep the selection available for the context menu.
- if (contextMenuRequested_) {
- contextMenuRequested_ = false;
- return;
- }
+ // We keep the selection available for the context menu.
+ if (contextMenuRequested_) {
+ contextMenuRequested_ = false;
+ return;
+ }
- QTextCursor cursor = textCursor();
- cursor.clearSelection();
- setTextCursor(cursor);
+ QTextCursor cursor = textCursor();
+ cursor.clearSelection();
+ setTextCursor(cursor);
}
void
TextLabel::mousePressEvent(QMouseEvent *e)
{
- link_ = (e->button() & Qt::LeftButton) ? anchorAt(e->pos()) : QString();
- QTextBrowser::mousePressEvent(e);
+ link_ = (e->button() & Qt::LeftButton) ? anchorAt(e->pos()) : QString();
+ QTextBrowser::mousePressEvent(e);
}
void
TextLabel::mouseReleaseEvent(QMouseEvent *e)
{
- if (e->button() & Qt::LeftButton && !link_.isEmpty() && anchorAt(e->pos()) == link_) {
- emit linkActivated(link_);
- return;
- }
+ if (e->button() & Qt::LeftButton && !link_.isEmpty() && anchorAt(e->pos()) == link_) {
+ emit linkActivated(link_);
+ return;
+ }
- QTextBrowser::mouseReleaseEvent(e);
+ QTextBrowser::mouseReleaseEvent(e);
}
void
TextLabel::wheelEvent(QWheelEvent *event)
{
- event->ignore();
+ event->ignore();
}
void
TextLabel::handleLinkActivation(const QUrl &url)
{
- auto parts = url.toString().split('/');
- auto defaultHandler = [](const QUrl &url) { QDesktopServices::openUrl(url); };
+ auto parts = url.toString().split('/');
+ auto defaultHandler = [](const QUrl &url) { QDesktopServices::openUrl(url); };
- if (url.host() != "matrix.to" || parts.isEmpty())
- return defaultHandler(url);
+ if (url.host() != "matrix.to" || parts.isEmpty())
+ return defaultHandler(url);
- try {
- using namespace mtx::identifiers;
- parse<User>(parts.last().toStdString());
- } catch (const std::exception &) {
- return defaultHandler(url);
- }
+ try {
+ using namespace mtx::identifiers;
+ parse<User>(parts.last().toStdString());
+ } catch (const std::exception &) {
+ return defaultHandler(url);
+ }
- emit userProfileTriggered(parts.last());
+ emit userProfileTriggered(parts.last());
}
|