diff options
author | Nicolas Werner <nicolas.werner@hotmail.de> | 2020-04-30 00:04:30 +0200 |
---|---|---|
committer | Nicolas Werner <nicolas.werner@hotmail.de> | 2020-04-30 00:04:30 +0200 |
commit | 0716bbafff4edc812b97bd3a963db3577e244b38 (patch) | |
tree | 1385a0bee56ee04b2431a37c6bac43dbf86b6fa4 /src/timeline/TimelineModel.cpp | |
parent | Merge pull request #183 from shocklateboy92/features/smooth-scroll (diff) | |
download | nheko-0716bbafff4edc812b97bd3a963db3577e244b38.tar.xz |
Strip reply fallback from plain text body
Diffstat (limited to 'src/timeline/TimelineModel.cpp')
-rw-r--r-- | src/timeline/TimelineModel.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp index e3a1a781..97b95258 100644 --- a/src/timeline/TimelineModel.cpp +++ b/src/timeline/TimelineModel.cpp @@ -853,12 +853,22 @@ TimelineModel::relatedInfo(QString id) event = decryptEvent(*e).event; } - RelatedInfo related = {}; - related.quoted_user = QString::fromStdString(mtx::accessors::sender(event)); - related.related_event = mtx::accessors::event_id(event); - related.type = mtx::accessors::msg_type(event); - related.quoted_body = QString::fromStdString(mtx::accessors::body(event)); - related.quoted_body = utils::getQuoteBody(related); + RelatedInfo related = {}; + related.quoted_user = QString::fromStdString(mtx::accessors::sender(event)); + related.related_event = mtx::accessors::event_id(event); + related.type = mtx::accessors::msg_type(event); + + // get body, strip reply fallback, then transform the event to text, if it is a media event + // etc + related.quoted_body = QString::fromStdString(mtx::accessors::body(event)); + QRegularExpression plainQuote("^>.*?$\n?", QRegularExpression::MultilineOption); + while (related.quoted_body.startsWith(">")) + related.quoted_body.remove(plainQuote); + if (related.quoted_body.startsWith("\n")) + related.quoted_body.remove(0, 1); + related.quoted_body = utils::getQuoteBody(related); + + // get quoted body and strip reply fallback related.quoted_formatted_body = mtx::accessors::formattedBodyWithFallback(event); related.quoted_formatted_body.remove(QRegularExpression( "<mx-reply>.*</mx-reply>", QRegularExpression::DotMatchesEverythingOption)); |