#ifndef __COMICFLOW_H #define __COMICFLOW_H #include "yacreader_flow.h" #include #include #include #include #include #include template class WorkerThread; class ComicFlow : public YACReaderFlow { Q_OBJECT public: ComicFlow(QWidget *parent = nullptr, FlowType flowType = CoverFlowLike); ~ComicFlow() override; void setImagePaths(const QStringList &paths); // bool eventFilter(QObject *target, QEvent *event); void keyPressEvent(QKeyEvent *event) override; void insertSlide(const QString &path, int index); void removeSlide(int cover); void resortCovers(QList newOrder); private slots: void preload(); void updateImageData(); private: void resetWorkerIndex() { workerIndex = -1; } QStringList imageFiles; QVector imagesLoaded; QVector imagesSetted; int numImagesLoaded; int workerIndex; QTimer updateTimer; std::unique_ptr> worker; virtual void wheelEvent(QWheelEvent *event) override; }; #endif