#include #include #include #include #include #include #include #include "previewworker.h" PreviewWorker::PreviewWorker() { } QFuture> PreviewWorker::generatePreviews(const QVector paths, QVector wordsToHighlight, double scalefactor) { QVector> previews; for(const SearchResult &sr : paths) { for(unsigned int page : sr.pages) { QSharedPointer ptr = QSharedPointer(new PreviewResult{sr.fileData.absPath, page}); previews.append(ptr); } } RenderConfig renderConfig; renderConfig.scaleX = QGuiApplication::primaryScreen()->physicalDotsPerInchX() * scalefactor; renderConfig.scaleY = QGuiApplication::primaryScreen()->physicalDotsPerInchY() * scalefactor; renderConfig.wordsToHighlight = wordsToHighlight; auto mapFunctor = new PreviewGeneratorMapFunctor(); mapFunctor->setRenderConfig(renderConfig); return QtConcurrent::mapped(previews, *mapFunctor); }