[fractal/fractal-next] content: Show URLs as link for plain text messages
- From: Julian Sparber <jsparber src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [fractal/fractal-next] content: Show URLs as link for plain text messages
- Date: Wed, 3 Nov 2021 15:55:15 +0000 (UTC)
commit c461e724cb2132376d85884149c28e194b5ef268
Author: Kévin Commaille <zecakeh tedomum fr>
Date: Tue Nov 2 19:20:04 2021 +0100
content: Show URLs as link for plain text messages
src/session/content/message_row.rs | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/src/session/content/message_row.rs b/src/session/content/message_row.rs
index 168336a7..bda10ad4 100644
--- a/src/session/content/message_row.rs
+++ b/src/session/content/message_row.rs
@@ -258,13 +258,17 @@ impl MessageRow {
.formatted
.filter(|m| m.format == MessageFormat::Html)
{
- markup_links(&html_escape(&formatted.body))
+ formatted.body
} else {
message.body
};
// TODO we need to bind the display name to the sender
self.show_text(
- &format!("<b>{}</b> {}", event.sender().display_name(), text),
+ &format!(
+ "<b>{}</b> {}",
+ event.sender().display_name(),
+ linkify(&text)
+ ),
true,
);
}
@@ -277,7 +281,7 @@ impl MessageRow {
{
self.show_html(html_blocks);
} else {
- self.show_text(&message.body, true)
+ self.show_text(&linkify(&message.body), true)
};
}
MessageType::ServerNotice(message) => {
@@ -289,7 +293,7 @@ impl MessageRow {
{
self.show_html(html_blocks);
} else {
- self.show_text(&message.body, false)
+ self.show_text(&linkify(&message.body), true)
};
}
MessageType::Video(_message) => {}
@@ -343,6 +347,10 @@ impl MessageRow {
}
}
+fn linkify(text: &str) -> String {
+ markup_links(&html_escape(text))
+}
+
fn parse_formatted_body(formatted: Option<&FormattedBody>) -> Option<Vec<HtmlBlock>> {
formatted
.filter(|m| m.format == MessageFormat::Html)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]