From bb7ad686d202bfe513104546cb2d77e6720d62a3 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 12 Apr 2021 14:21:21 +0200 Subject: Add manganelos --- plugins/Manganelos.hpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 plugins/Manganelos.hpp (limited to 'plugins') diff --git a/plugins/Manganelos.hpp b/plugins/Manganelos.hpp new file mode 100644 index 0000000..ede2712 --- /dev/null +++ b/plugins/Manganelos.hpp @@ -0,0 +1,38 @@ +#pragma once + +#include "Manga.hpp" +#include + +namespace QuickMedia { + class ManganelosSearchPage : public Page { + public: + ManganelosSearchPage(Program *program) : Page(program) {} + const char* get_title() const override { return "All"; } + bool search_is_filter() override { return false; } + SearchResult search(const std::string &str, BodyItems &result_items) override; + PluginResult get_page(const std::string &str, int page, BodyItems &result_items) override; + PluginResult submit(const std::string &title, const std::string &url, std::vector &result_tabs) override; + sf::Vector2i get_thumbnail_max_size() override { return sf::Vector2i(101, 141); }; + }; + + class ManganelosChaptersPage : public MangaChaptersPage { + public: + ManganelosChaptersPage(Program *program, std::string manga_name, std::string manga_url) : MangaChaptersPage(program, std::move(manga_name), std::move(manga_url)) {} + PluginResult submit(const std::string &title, const std::string &url, std::vector &result_tabs) override; + protected: + bool extract_id_from_url(const std::string &url, std::string &manga_id) const override; + const char* get_service_name() const override { return "manganelos"; } + }; + + class ManganelosImagesPage : public MangaImagesPage { + public: + ManganelosImagesPage(Program *program, std::string manga_name, std::string chapter_name, std::string url) : MangaImagesPage(program, std::move(manga_name), std::move(chapter_name), std::move(url)) {} + + ImageResult get_number_of_images(int &num_images) override; + ImageResult for_each_page_in_chapter(PageCallback callback) override; + + const char* get_service_name() const override { return "manganelos"; } + private: + ImageResult get_image_urls_for_chapter(const std::string &url); + }; +} \ No newline at end of file -- cgit v1.2.3