aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/QuickMedia.hpp7
-rw-r--r--include/Tab.hpp11
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