mirror of
https://github.com/vale981/tdesktop
synced 2025-03-05 09:41:41 -05:00
Allow markdown to intersect with previewed links.
This commit is contained in:
parent
306b87dd39
commit
dd38da7737
1 changed files with 11 additions and 3 deletions
|
@ -605,6 +605,12 @@ void MessageLinksParser::parse() {
|
|||
_list = QStringList();
|
||||
return;
|
||||
}
|
||||
const auto tagCanIntersectWithLink = [](const QString &tag) {
|
||||
return (tag == Ui::InputField::kTagBold)
|
||||
|| (tag == Ui::InputField::kTagItalic)
|
||||
|| (tag == Ui::InputField::kTagUnderline)
|
||||
|| (tag == Ui::InputField::kTagStrikeOut);
|
||||
};
|
||||
|
||||
auto ranges = QVector<LinkRange>();
|
||||
|
||||
|
@ -620,7 +626,9 @@ void MessageLinksParser::parse() {
|
|||
++tag;
|
||||
};
|
||||
const auto processTagsBefore = [&](int offset) {
|
||||
while (tag != tagsEnd && tag->offset + tag->length <= offset) {
|
||||
while (tag != tagsEnd
|
||||
&& (tag->offset + tag->length <= offset
|
||||
|| tagCanIntersectWithLink(tag->id))) {
|
||||
processTag();
|
||||
}
|
||||
};
|
||||
|
@ -640,9 +648,9 @@ void MessageLinksParser::parse() {
|
|||
while (markdownTag != markdownTagsEnd
|
||||
&& (markdownTag->adjustedStart
|
||||
+ markdownTag->adjustedLength <= from
|
||||
|| !markdownTag->closed)) {
|
||||
|| !markdownTag->closed
|
||||
|| tagCanIntersectWithLink(markdownTag->tag))) {
|
||||
++markdownTag;
|
||||
continue;
|
||||
}
|
||||
if (markdownTag == markdownTagsEnd
|
||||
|| markdownTag->adjustedStart >= from + length) {
|
||||
|
|
Loading…
Add table
Reference in a new issue