From 4af367373f6f92b0fc1d79b2871fa942e1eb86fa Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 9 Nov 2020 00:08:53 +0100 Subject: Matrix: update user display name/avatar when updated in /sync; fix backspace search delay --- plugins/Matrix.hpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'plugins') diff --git a/plugins/Matrix.hpp b/plugins/Matrix.hpp index 0248e09..362abeb 100644 --- a/plugins/Matrix.hpp +++ b/plugins/Matrix.hpp @@ -14,12 +14,15 @@ namespace QuickMedia { struct UserInfo { friend struct RoomData; + UserInfo(RoomData *room, std::string user_id); + UserInfo(RoomData *room, std::string user_id, std::string display_name, std::string avatar_url); - std::string user_id; + RoomData *room; + const sf::Color display_name_color; + const std::string user_id; + private: std::string display_name; std::string avatar_url; - sf::Color display_name_color; - private: std::string read_marker_event_id; }; @@ -60,7 +63,14 @@ namespace QuickMedia { void add_user(std::shared_ptr user); void set_user_read_marker(std::shared_ptr &user, const std::string &event_id); - std::string get_user_read_marker(std::shared_ptr &user); + std::string get_user_read_marker(const std::shared_ptr &user); + + std::string get_user_display_name(const std::shared_ptr &user); + std::string get_user_avatar_url(const std::shared_ptr &user); + + // Set to empty to remove (in which case the display name will be the user id) + void set_user_display_name(std::shared_ptr &user, std::string display_name); + void set_user_avatar_url(std::shared_ptr &user, std::string avatar_url); // Ignores duplicates void prepend_messages_reverse(const std::vector> &new_messages); -- cgit v1.2.3