aboutsummaryrefslogtreecommitdiff
path: root/src/QuickMedia.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2021-08-01 03:09:19 +0200
committerdec05eba <dec05eba@protonmail.com>2021-08-01 03:09:19 +0200
commit738411fcb52f2dce050f200eeff307c7a0a1f13c (patch)
treee0162daa3a86f43769e502a86033a388bcefba6b /src/QuickMedia.cpp
parentaead89cca00cba7bef8752163752f6a9c213ae6f (diff)
Matrix: implement power level change messages
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r--src/QuickMedia.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp
index 4a3003b..286e766 100644
--- a/src/QuickMedia.cpp
+++ b/src/QuickMedia.cpp
@@ -4526,6 +4526,12 @@ namespace QuickMedia {
body_item->userdata = (void*)message; // Note: message has to be valid as long as body_item is used!
if(message->related_event_type == RelatedEventType::REDACTION || message->related_event_type == RelatedEventType::EDIT || message->related_event_type == RelatedEventType::REACTION)
body_item->visible = false;
+ if(is_system_message_type(message->type)) {
+ body_item->set_author("System");
+ body_item->set_author_color(get_current_theme().text_color);
+ body_item->set_description_color(get_current_theme().faded_text_color);
+ body_item->thumbnail_url.clear();
+ }
if(message->user->user_id != my_user_id && (message_contains_user_mention(body_item->get_description(), my_display_name) || message_contains_user_mention(body_item->get_description(), my_user_id)))
body_item->set_description_color(get_current_theme().attention_alert_text_color);
return body_item;
@@ -4577,6 +4583,9 @@ namespace QuickMedia {
};
static void user_update_display_info(BodyItem *body_item, RoomData *room, Message *message) {
+ if(is_system_message_type(message->type))
+ return;
+
body_item->set_author(extract_first_line_remove_newline_elipses(room->get_user_display_name(message->user), AUTHOR_MAX_LENGTH));
if(!is_visual_media_message_type(message->type)) {
@@ -5413,7 +5422,7 @@ namespace QuickMedia {
tabs[MESSAGES_TAB_INDEX].body->body_item_merge_handler = [](BodyItem *prev_item, BodyItem *this_item) {
Message *message = static_cast<Message*>(this_item->userdata);
- if(!message || !prev_item || !prev_item->userdata)
+ if(!message || !prev_item || !prev_item->userdata || is_system_message_type(message->type))
return false;
if(is_visual_media_message_type(message->type) && !this_item->thumbnail_url.empty())