diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/QuickMedia.hpp | 7 | ||||
-rw-r--r-- | include/Tab.hpp | 11 |
2 files changed, 18 insertions, 0 deletions
diff --git a/include/QuickMedia.hpp b/include/QuickMedia.hpp index 6856f05..f93b47c 100644 --- a/include/QuickMedia.hpp +++ b/include/QuickMedia.hpp @@ -74,6 +74,11 @@ namespace QuickMedia { AsyncTask<BodyItems> next_page_future; std::string body_item_url_before_refresh; }; + + struct LoginInput { + std::string placeholder; + SearchBarType type; + }; class Program { public: @@ -83,6 +88,7 @@ namespace QuickMedia { std::unique_ptr<Body> create_body(bool plain_text_list = false, bool prefer_card_view = false); std::unique_ptr<SearchBar> create_search_bar(const std::string &placeholder, int search_delay); + void add_login_inputs(Tab *tab, std::vector<LoginInput> login_inputs); bool load_manga_content_storage(const char *service_name, const std::string &manga_title, const std::string &manga_url, const std::string &manga_id); @@ -215,5 +221,6 @@ namespace QuickMedia { std::unique_ptr<VideoPlayer> video_player; bool use_youtube_dl = false; int video_max_height = 0; + std::mutex login_inputs_mutex; }; } diff --git a/include/Tab.hpp b/include/Tab.hpp index ccb8c85..b277f88 100644 --- a/include/Tab.hpp +++ b/include/Tab.hpp @@ -1,5 +1,6 @@ #pragma once +#include <vector> #include <memory> namespace QuickMedia { @@ -7,9 +8,19 @@ namespace QuickMedia { class Page; class SearchBar; + struct LoginInputs { + std::vector<std::unique_ptr<SearchBar>> inputs; + int focused_input = 0; + bool needs_refresh = false; + }; + struct Tab { + Tab(std::unique_ptr<Body> body, std::unique_ptr<Page> page, std::unique_ptr<SearchBar> search_bar, LoginInputs login_inputs = {}) : + body(std::move(body)), page(std::move(page)), search_bar(std::move(search_bar)), login_inputs(std::move(login_inputs)) {} + std::unique_ptr<Body> body; std::unique_ptr<Page> page; // Only null when current page has |is_single_page()| set to true std::unique_ptr<SearchBar> search_bar; // Nullable + LoginInputs login_inputs; }; }
\ No newline at end of file |