#ifndef PDFWORKER_H #define PDFWORKER_H #include #include #include #include #include #include #include #include "pdfpreview.h" #include "searchresult.h" class PdfWorker : public QObject { Q_OBJECT private: QHash documentcache; Poppler::Document *document(QString path); std::atomic cancelCurrent{false}; std::atomic generating{false}; QMutex isFreeMutex; QWaitCondition isFree; public: PdfWorker(); void cancelAndWait(); public slots: void generatePreviews(QVector paths, double scalefactor); signals: void previewReady(PdfPreview p); void previewsFinished(); }; #endif // PDFWORKER_H