diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt index 940ac0579de71b22fece24974fffc694aa6c6402..da3b5cda99cac6d48a75e2b52a2b0d91526364ea 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/messages/QuasselMessageRenderer.kt @@ -193,7 +193,7 @@ class QuasselMessageRenderer( context.getString(R.string.message_format_part_2), formatPrefix(message.senderPrefixes, highlight), formatNick(message.sender, self, highlight, true), - message.content + formatContent(message.content, highlight) ) }, message.messageId == markerLine @@ -212,11 +212,33 @@ class QuasselMessageRenderer( context.getString(R.string.message_format_quit_2), formatPrefix(message.senderPrefixes, highlight), formatNick(message.sender, self, highlight, true), - message.content + formatContent(message.content, highlight) ) }, message.messageId == markerLine ) + Message_Type.Kick -> FormattedMessage( + message.messageId, + timeFormatter.format(message.time.atZone(zoneId)), + SpanFormatter.format( + context.getString(R.string.message_format_kick), + formatContent(message.content, highlight), + formatPrefix(message.senderPrefixes, highlight), + formatNick(message.sender, self, highlight, true) + ), + message.messageId == markerLine + ) + Message_Type.Kill -> FormattedMessage( + message.messageId, + timeFormatter.format(message.time.atZone(zoneId)), + SpanFormatter.format( + context.getString(R.string.message_format_kill), + formatContent(message.content, highlight), + formatPrefix(message.senderPrefixes, highlight), + formatNick(message.sender, self, highlight, true) + ), + message.messageId == markerLine + ) Message_Type.NetsplitJoin -> { val split = message.content.split("#:#") val (server1, server2) = split.last().split(' ') @@ -273,7 +295,7 @@ class QuasselMessageRenderer( } @Language("RegExp") - private val scheme = "(?:(?:mailto:|(?:[+.-]?\\w)+://)|www(?=\\.\\S+\\.))" + private val scheme = "(?:(?:mailto:|magnet:|(?:[+.-]?\\w)+://)|www(?=\\.\\S+\\.))" @Language("RegExp") private val authority = "(?:(?:[,.;@:]?[-\\w]+)+\\.?|\\[[0-9a-f:.]+])(?::\\d+)?" @Language("RegExp") @@ -365,7 +387,7 @@ class QuasselMessageRenderer( formatNickImpl(sender, !self && !highlight, appearanceSettings.showHostmask && showHostmask) ColorizeNicknamesMode.NONE -> formatNickImpl(sender, false, appearanceSettings.showHostmask && showHostmask) - } + } private fun formatPrefix(prefix: String, highlight: Boolean) = when (appearanceSettings.showPrefix) { diff --git a/app/src/main/res/values/strings_messages.xml b/app/src/main/res/values/strings_messages.xml index e7464ac2064668dbeb13a15559e3473c4ef2ea29..b3a7155e070b00b779456e47e97e4122f204568e 100644 --- a/app/src/main/res/values/strings_messages.xml +++ b/app/src/main/res/values/strings_messages.xml @@ -23,9 +23,11 @@ <string name="message_format_mode">Mode %1$s by %2$s%3$s</string> <string name="message_format_join">%1$s%2$s joined</string> <string name="message_format_part_1">%1$s%2$s left</string> - <string name="message_format_part_2">%1$s%2$s left: %3$s</string> + <string name="message_format_part_2">%1$s%2$s left (%3$s)</string> <string name="message_format_quit_1">%1$s%2$s quit</string> <string name="message_format_quit_2">%1$s%2$s quit (%3$s)</string> + <string name="message_format_kick">%1$s was kicked by %2$s%3$s</string> + <string name="message_format_kill">%1$s was killed by %2$s%3$s</string> <plurals name="message_netsplit_join"> <item quantity="one">Netsplit between %1$s and %2$s ended: %3$d user joined</item> <item quantity="other">Netsplit between %1$s and %2$s ended: %3$d users joined</item>