#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