From b8998700c4a34890cf20b7cad0a9225877101d69 Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 6 Nov 2023 14:41:24 +0400 Subject: [PATCH] Make links in multiline tooltips clickable. --- ui/toast/toast_widget.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ui/toast/toast_widget.cpp b/ui/toast/toast_widget.cpp index a1b8cd7..0907e1b 100644 --- a/ui/toast/toast_widget.cpp +++ b/ui/toast/toast_widget.cpp @@ -44,7 +44,7 @@ Widget::Widget(QWidget *parent, const Config &config) , _adaptive(config.adaptive) , _maxTextWidth(widthWithoutPadding(_st->maxWidth)) , _maxTextHeight( - config.st->style.font->height * (_multiline ? config.maxLines : 1)) + _st->style.font->height * (_multiline ? config.maxLines : 1)) , _text(_multiline ? widthWithoutPadding(config.st->minWidth) : kQFixedMax) , _clickHandlerFilter(config.filter) { const auto toastOptions = TextParseOptions{ @@ -200,7 +200,9 @@ void Widget::mouseMoveEvent(QMouseEvent *e) { } const auto point = e->pos() - QPoint(_st->padding.left(), _textTop); - const auto state = _text.getStateElided(point, _textWidth + 1); + auto request = Ui::Text::StateRequestElided(); + request.lines = (_maxTextHeight / _st->style.font->height); + const auto state = _text.getStateElided(point, _textWidth + 1, request); const auto was = ClickHandler::getActive(); if (was != state.link) { ClickHandler::setActive(state.link);