From 7292fe11254109266e7adb9937e5f0fa797711f6 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 1 Nov 2020 12:19:30 +0100 Subject: Matrix: add invites tab, add /leave command, remove room when leaving, add async loading for more tasks --- include/Body.hpp | 4 +++- include/QuickMedia.hpp | 8 ++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/Body.hpp b/include/Body.hpp index 1a82443..99f8b1c 100644 --- a/include/Body.hpp +++ b/include/Body.hpp @@ -59,8 +59,9 @@ namespace QuickMedia { dirty_author = true; } + // |new_timestamp| is in milliseconds void set_timestamp(time_t new_timestamp) { - if(timestamp == 0 && new_timestamp == 0) + if(new_timestamp == timestamp) return; timestamp = new_timestamp; dirty_timestamp = true; @@ -90,6 +91,7 @@ namespace QuickMedia { const std::string& get_title() const { return title; } const std::string& get_description() const { return description; } const std::string& get_author() const { return author; } + // In milliseconds time_t get_timestamp() const { return timestamp; } sf::Color get_title_color() const { return title_color; } diff --git a/include/QuickMedia.hpp b/include/QuickMedia.hpp index 821a427..c043962 100644 --- a/include/QuickMedia.hpp +++ b/include/QuickMedia.hpp @@ -59,6 +59,10 @@ namespace QuickMedia { bool is_window_focused(); RoomData* get_current_chat_room(); + + void set_go_to_previous_page(); + + TaskResult run_task_with_loading_screen(std::function callback); private: void base_event_handler(sf::Event &event, PageType previous_page, Body *body, SearchBar *search_bar, bool handle_key_press = true, bool handle_searchbar = true); void page_loop(std::vector &tabs); @@ -71,8 +75,6 @@ namespace QuickMedia { void chat_page(MatrixChatPage *chat_page, RoomData *current_room); void after_matrix_login_page(); - TaskResult run_task_with_loading_screen(std::function callback); - enum class LoadImageResult { OK, FAILED, @@ -135,5 +137,7 @@ namespace QuickMedia { std::vector selected_files; bool fit_image_to_window = false; RoomData *current_chat_room = nullptr; + bool go_to_previous_page = false; + std::thread::id main_thread_id; }; } \ No newline at end of file -- cgit v1.2.3