mirror of
https://github.com/YACReader/yacreader
synced 2025-05-27 10:50:27 -04:00
parent
be85954b0c
commit
4a59dd6db6
@ -12,6 +12,7 @@ Version counting is based on semantic versioning (Major.Feature.Patch)
|
||||
|
||||
### All apps
|
||||
* Run logger in a dedicated thread to avoid segfaults at application shutdown
|
||||
* Add support for poppler-qt6 pdf backend
|
||||
|
||||
## 9.10
|
||||
|
||||
|
@ -27,7 +27,7 @@ void InitialComicInfoExtractor::extract()
|
||||
#ifndef NO_PDF
|
||||
if (fi.suffix().compare("pdf", Qt::CaseInsensitive) == 0) {
|
||||
#if defined Q_OS_MAC && defined USE_PDFKIT
|
||||
auto pdfComic = std::make_unique<MacOSXPDFComic>();
|
||||
auto pdfComic = std::make_unique<MacOSXPDFComic>();
|
||||
if (!pdfComic->openComic(_fileSource)) {
|
||||
return;
|
||||
}
|
||||
@ -64,7 +64,6 @@ void InitialComicInfoExtractor::extract()
|
||||
saveCover(_target, p);
|
||||
} else if (_target != "") {
|
||||
QLOG_WARN() << "Extracting cover: requested cover index greater than numPages " << _fileSource;
|
||||
|
||||
}
|
||||
}
|
||||
return;
|
||||
|
@ -808,8 +808,13 @@ void PDFComic::process()
|
||||
return;
|
||||
}
|
||||
#else
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
pdfComic = Poppler::Document::load(_path);
|
||||
#else
|
||||
auto _pdfComic = Poppler::Document::load(_path);
|
||||
pdfComic = std::unique_ptr<Poppler::Document>(_pdfComic);
|
||||
#endif
|
||||
|
||||
if (!pdfComic) {
|
||||
moveToThread(QCoreApplication::instance()->thread());
|
||||
@ -877,7 +882,7 @@ void PDFComic::renderPage(int page)
|
||||
QImage img = pdfComic->getPage(page);
|
||||
if (!img.isNull()) {
|
||||
#else
|
||||
std::unique_ptr<Poppler::Page> pdfpage (pdfComic->page(page));
|
||||
std::unique_ptr<Poppler::Page> pdfpage(pdfComic->page(page));
|
||||
if (pdfpage) {
|
||||
QImage img = pdfpage->renderToImage(150, 150);
|
||||
#endif
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include "pdf_comic.h"
|
||||
#endif // NO_PDF
|
||||
class ComicDB;
|
||||
//#define EXTENSIONS << "*.jpg" << "*.jpeg" << "*.png" << "*.gif" << "*.tiff" << "*.tif" << "*.bmp" Comic::getSupportedImageFormats()
|
||||
|
||||
//#define EXTENSIONS_LITERAL << ".jpg" << ".jpeg" << ".png" << ".gif" << ".tiff" << ".tif" << ".bmp" //Comic::getSupportedImageLiteralFormats()
|
||||
class Comic : public QObject
|
||||
{
|
||||
@ -172,6 +172,7 @@ private:
|
||||
std::unique_ptr<Poppler::Document> pdfComic;
|
||||
#endif
|
||||
void renderPage(int page);
|
||||
|
||||
// void run();
|
||||
|
||||
public:
|
||||
|
@ -5,6 +5,7 @@
|
||||
#include <QImage>
|
||||
#include <QFile>
|
||||
#include <QMutex>
|
||||
#include <QtGlobal>
|
||||
|
||||
#if defined Q_OS_MAC && defined USE_PDFKIT
|
||||
class MacOSXPDFComic
|
||||
@ -45,6 +46,10 @@ private:
|
||||
QFile pdfFile;
|
||||
};
|
||||
#else
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
||||
#include <poppler-qt6.h>
|
||||
#else
|
||||
#include "poppler-qt5.h"
|
||||
#endif // QT_VERSION
|
||||
#endif // Q_OS_MAC
|
||||
#endif // PDF_COMIC_H
|
||||
|
33
dependencies/pdf_backend.pri
vendored
33
dependencies/pdf_backend.pri
vendored
@ -55,18 +55,31 @@ CONFIG(poppler) {
|
||||
LIBS += -L$$PWD/poppler/dependencies/bin
|
||||
}
|
||||
if(unix|mingw):!macx {
|
||||
!contains(QT_CONFIG, no-pkg-config):packagesExist(poppler-qt5) {
|
||||
message("Using system provided installation of poppler-qt5 found by pkg-config.")
|
||||
CONFIG += link_pkgconfig
|
||||
PKGCONFIG += poppler-qt5
|
||||
} else:!macx:exists(/usr/include/poppler/qt5) {
|
||||
message("Using system provided installation of poppler-qt5.")
|
||||
INCLUDEPATH += /usr/include/poppler/qt5
|
||||
LIBS += -lpoppler-qt5
|
||||
greaterThan (QT_MAJOR_VERSION, 5) {
|
||||
!contains(QT_CONFIG, no-pkg-config):packagesExist(poppler-qt6) {
|
||||
message("Using system provided installation of poppler-qt6 found by pkg-config.")
|
||||
CONFIG += link_pkgconfig
|
||||
PKGCONFIG += poppler-qt6
|
||||
} else:!macx:exists(/usr/include/poppler/qt6) {
|
||||
message("Using system provided installation of poppler-qt6.")
|
||||
INCLUDEPATH += /usr/include/poppler/qt6
|
||||
LIBS += -lpoppler-qt6
|
||||
} else {
|
||||
error("Could not find poppler-qt6")
|
||||
}
|
||||
} else {
|
||||
error("Could not find poppler-qt5")
|
||||
!contains(QT_CONFIG, no-pkg-config):packagesExist(poppler-qt5) {
|
||||
message("Using system provided installation of poppler-qt5 found by pkg-config.")
|
||||
CONFIG += link_pkgconfig
|
||||
PKGCONFIG += poppler-qt5
|
||||
} else:!macx:exists(/usr/include/poppler/qt5) {
|
||||
message("Using system provided installation of poppler-qt5.")
|
||||
INCLUDEPATH += /usr/include/poppler/qt5
|
||||
LIBS += -lpoppler-qt5
|
||||
} else {
|
||||
error("Could not find poppler-qt5")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
unix:macx {
|
||||
error (Poppler backend is currently not supported on macOS)
|
||||
|
Loading…
Reference in New Issue
Block a user