diff options
Diffstat (limited to 'src/QuickMedia.cpp')
-rw-r--r-- | src/QuickMedia.cpp | 11 |
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()) |