From 7f0bdeddb79c308ab082a124441f1d69d665dbfc Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 18 Apr 2021 17:18:31 +0200 Subject: Fix misc matrix bugs related to leaving a room when side panel is visible and changing room, misc visual changes to manga --- plugins/Matrix.hpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'plugins/Matrix.hpp') diff --git a/plugins/Matrix.hpp b/plugins/Matrix.hpp index 974238f..0659983 100644 --- a/plugins/Matrix.hpp +++ b/plugins/Matrix.hpp @@ -235,7 +235,7 @@ namespace QuickMedia { virtual void add_unread_notification(RoomData *room, std::string event_id, std::string sender, std::string body) = 0; - virtual void update(MatrixPageType page_type) { (void)page_type; } + virtual void update(MatrixPageType page_type, Body *chat_body, bool messages_tab_visible) { (void)page_type; } virtual void clear_data() = 0; }; @@ -261,7 +261,7 @@ namespace QuickMedia { void add_unread_notification(RoomData *room, std::string event_id, std::string sender, std::string body) override; - void update(MatrixPageType page_type) override; + void update(MatrixPageType page_type, Body *chat_body, bool messages_tab_visible) override; void clear_data() override; @@ -271,8 +271,8 @@ namespace QuickMedia { MatrixRoomTagsPage *room_tags_page; MatrixInvitesPage *invites_page; private: - void update_room_description(RoomData *room, Messages &new_messages, bool is_initial_sync, bool sync_is_cache); - void update_pending_room_messages(MatrixPageType page_type); + void update_room_description(RoomData *room, Messages &new_messages, bool is_initial_sync, bool sync_is_cache, Body *chat_body, bool messages_tab_visible); + void update_pending_room_messages(MatrixPageType page_type, Body *chat_body, bool messages_tab_visible); private: struct RoomMessagesData { Messages messages; @@ -440,9 +440,11 @@ namespace QuickMedia { void update() override; const std::string room_id; - MatrixQuickMedia *matrix_delegate = nullptr; MatrixRoomsPage *rooms_page = nullptr; bool should_clear_data = false; + + Body *chat_body = nullptr; + bool messages_tab_visible = false; }; class MatrixRoomDirectoryPage : public Page { -- cgit v1.2.3