#ifndef GETSUYOMI_HPP #define GETSUYOMI_HPP #include "archive.hpp" #include #include #include namespace getsuyomi { enum class PageLayout : uint8_t { Single, Dual, Manga }; class Getsuyomi : public QWidget { Q_OBJECT public: friend class GetsuyomiApp; Getsuyomi(); Getsuyomi(const Getsuyomi&) = delete; Getsuyomi(Getsuyomi&&) = delete; ~Getsuyomi(); Getsuyomi& operator=(const Getsuyomi&) = delete; Getsuyomi& operator=(Getsuyomi&&) = delete; public slots: void setArchive(Archive* archive); void next(); void back(); private: void setPages(); void setPagesNormal(); void setPagesDual(); void setPagesManga(); void setPages(QLabel& label1, QLabel& label2); QLayout* m_layout{nullptr}; Archive* m_archive{nullptr}; PageLayout m_pageLayout{PageLayout::Single}; QLabel m_pageLeft{}; QLabel m_pageRight{}; size_t m_pageNumber{0}; }; } // namespace getsuyomi #endif