From 738411fcb52f2dce050f200eeff307c7a0a1f13c Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 1 Aug 2021 03:09:19 +0200 Subject: Matrix: implement power level change messages --- src/QuickMedia.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/QuickMedia.cpp') 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(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()) -- cgit v1.2.3