From 75c610d1f65d741bbeba9f1ddeef60a6e9315427 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 7 Feb 2022 22:54:20 +0100 Subject: Use one struct for all args in Page::submit instead of multiple args (easier to add new fields without changing code) Also remove submit_body_item from page. --- src/plugins/Mangadex.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'src/plugins/Mangadex.cpp') diff --git a/src/plugins/Mangadex.cpp b/src/plugins/Mangadex.cpp index 79341bd..3b6b2e0 100644 --- a/src/plugins/Mangadex.cpp +++ b/src/plugins/Mangadex.cpp @@ -350,21 +350,21 @@ namespace QuickMedia { } // TODO: Do requests in parallel - PluginResult MangadexSearchPage::submit(const std::string &title, const std::string &url, std::vector &result_tabs) { + PluginResult MangadexSearchPage::submit(const SubmitArgs &args, std::vector &result_tabs) { PluginResult result; BodyItems body_items; - result = get_chapters_for_manga(this, url, 0, body_items); + result = get_chapters_for_manga(this, args.url, 0, body_items); if(result != PluginResult::OK) return result; auto body = create_body(); body->set_items(std::move(body_items)); - auto chapters_page = std::make_unique(program, this, title, url, submit_body_item->thumbnail_url); + auto chapters_page = std::make_unique(program, this, args.title, args.url, args.thumbnail_url); result_tabs.push_back(Tab{std::move(body), std::move(chapters_page), create_search_bar("Search...", SEARCH_DELAY_FILTER)}); std::vector creators; - result = get_creators_for_manga(this, url, creators); + result = get_creators_for_manga(this, args.url, creators); if(result != PluginResult::OK) return result; @@ -376,8 +376,8 @@ namespace QuickMedia { return PluginResult::OK; } - PluginResult MangadexChaptersPage::submit(const std::string &title, const std::string &url, std::vector &result_tabs) { - result_tabs.push_back(Tab{nullptr, std::make_unique(program, search_page, content_title, url, title, thumbnail_url), nullptr}); + PluginResult MangadexChaptersPage::submit(const SubmitArgs &args, std::vector &result_tabs) { + result_tabs.push_back(Tab{nullptr, std::make_unique(program, search_page, content_title, args.url, args.title, thumbnail_url), nullptr}); return PluginResult::OK; } @@ -385,11 +385,8 @@ namespace QuickMedia { return get_chapters_for_manga(this, content_url, page, result_items); } - PluginResult MangadexCreatorPage::submit(const std::string &title, const std::string &url, std::vector &result_tabs) { - search_page->submit_body_item = submit_body_item; - PluginResult result = search_page->submit(title, url, result_tabs); - search_page->submit_body_item = nullptr; - return result; + PluginResult MangadexCreatorPage::submit(const SubmitArgs &args, std::vector &result_tabs) { + return search_page->submit(args, result_tabs); } PluginResult MangadexCreatorPage::get_page(const std::string&, int page, BodyItems &result_items) { -- cgit v1.2.3