From 7284926db4b59ac73fe2a82b68d3c422b515394c Mon Sep 17 00:00:00 2001 From: John Preston Date: Tue, 1 Jul 2025 11:26:56 +0400 Subject: [PATCH] Support links in tasks. --- .../history/view/media/history_view_todo_list.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Telegram/SourceFiles/history/view/media/history_view_todo_list.cpp b/Telegram/SourceFiles/history/view/media/history_view_todo_list.cpp index ff2003dfdb..57ac0db0d6 100644 --- a/Telegram/SourceFiles/history/view/media/history_view_todo_list.cpp +++ b/Telegram/SourceFiles/history/view/media/history_view_todo_list.cpp @@ -667,11 +667,24 @@ TextState TodoList::textState(QPoint point, StateRequest request) const { request.forText())); return result; } + const auto aleft = padding.left() + + st::historyPollAnswerPadding.left(); + const auto awidth = paintw + - st::historyPollAnswerPadding.left() + - st::historyPollAnswerPadding.right(); tshift += questionH + st::historyPollSubtitleSkip; tshift += st::msgDateFont->height + st::historyPollAnswersSkip; for (const auto &task : _tasks) { const auto height = countTaskHeight(task, paintw); if (point.y() >= tshift && point.y() < tshift + height) { + const auto atop = tshift + st::historyPollAnswerPadding.top(); + auto taskTextResult = task.text.getState( + point - QPoint(aleft, atop), + awidth, + request.forText()); + if (taskTextResult.link) { + return TextState(_parent, taskTextResult); + } _lastLinkPoint = point; result.link = task.handler; if (task.completionDate) {