summary refs log tree commit diff
path: root/src/timeline/TimelineItem.cpp
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-09-12 21:46:33 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-09-12 21:46:33 +0300
commite88cfa1b2069bd9c75094dfa640ad2f42fcb22f2 (patch)
treef89db41cd212e20567f68cb93c9deb8148067ec5 /src/timeline/TimelineItem.cpp
parentRemove italics from m.notice messages (diff)
downloadnheko-e88cfa1b2069bd9c75094dfa640ad2f42fcb22f2.tar.xz
Use <em></em> for m.emote messages
Diffstat (limited to 'src/timeline/TimelineItem.cpp')
-rw-r--r--src/timeline/TimelineItem.cpp29
1 files changed, 21 insertions, 8 deletions
diff --git a/src/timeline/TimelineItem.cpp b/src/timeline/TimelineItem.cpp

index 85067d76..c4abe7cf 100644 --- a/src/timeline/TimelineItem.cpp +++ b/src/timeline/TimelineItem.cpp
@@ -310,27 +310,36 @@ TimelineItem::TimelineItem(mtx::events::MessageType ty, auto displayName = Cache::displayName(room_id_, userid); auto timestamp = QDateTime::currentDateTime(); + // Generate the html body to rendered. + auto formatted_body = utils::markdownToHtml(body); + + // Extract the plain text version for the sidebar. + body = QString::fromStdString(utils::stripHtml(formatted_body)); + if (ty == mtx::events::MessageType::Emote) { - body = QString("%1 %2").arg(displayName).arg(body); - descriptionMsg_ = {"", userid, body, utils::descriptiveTime(timestamp), timestamp}; + formatted_body = QString("<em>%1</em>").arg(formatted_body); + descriptionMsg_ = {"", + userid, + QString("* %1 %2").arg(displayName).arg(body), + utils::descriptiveTime(timestamp), + timestamp}; } else { descriptionMsg_ = { "You: ", userid, body, utils::descriptiveTime(timestamp), timestamp}; } - body = utils::markdownToHtml(body); - body = utils::linkifyMessage(body); + formatted_body = utils::linkifyMessage(formatted_body); generateTimestamp(timestamp); if (withSender) { - generateBody(userid, displayName, body); + generateBody(userid, displayName, formatted_body); setupAvatarLayout(displayName); AvatarProvider::resolve( room_id_, userid, this, [this](const QImage &img) { setUserAvatar(img); }); } else { - generateBody(body); + generateBody(formatted_body); setupSimpleLayout(); } @@ -533,9 +542,13 @@ TimelineItem::TimelineItem(const mtx::events::RoomEvent<mtx::events::msg::Emote> auto timestamp = QDateTime::fromMSecsSinceEpoch(event.origin_server_ts); auto displayName = Cache::displayName(room_id_, sender); - auto emoteMsg = QString("%1 %2").arg(displayName).arg(formatted_body); + formatted_body = QString("<em>%1</em>").arg(formatted_body); - descriptionMsg_ = {"", sender, emoteMsg, utils::descriptiveTime(timestamp), timestamp}; + descriptionMsg_ = {"", + sender, + QString("* %1 %2").arg(displayName).arg(body), + utils::descriptiveTime(timestamp), + timestamp}; generateTimestamp(timestamp);