Add no_pdf build option

This commit is contained in:
Felix Kauselmann
2016-10-21 22:21:32 +02:00
parent 36ef664d65
commit 464a3b6649
7 changed files with 112 additions and 84 deletions

View File

@ -46,18 +46,23 @@ win32 {
}
unix:!macx{
!CONFIG(pdfium) {
!CONFIG(no_pdf){
!CONFIG(pdfium){
INCLUDEPATH += /usr/include/poppler/qt5
LIBS += -L/usr/lib -lpoppler-qt5
}
else {
DEFINES += "USE_PDFIUM"
INCLUDEPATH += /usr/include/pdfium
LIBS += -L/usr/lib/pdfium -Wl,--start-group -lpdfium -lfpdfapi -lfxge -lfpdfdoc \
} else {
#static pdfium libraries have to be included *before* dynamic libraries
DEFINES += "USE_PDFIUM"
INCLUDEPATH += /usr/include/pdfium
LIBS += -L/usr/lib/pdfium -Wl,--start-group -lpdfium -lfpdfapi -lfxge -lfpdfdoc \
-lfxcrt -lfx_agg -lfxcodec -lfx_lpng -lfx_libopenjpeg -lfx_lcms2 -ljpeg \
-lfx_zlib -lfdrm -lfxedit -lformfiller -lpdfwindow -lpdfium -lbigint -ljavascript \
-lfxedit -Wl,--end-group -lfreetype
}
}
else {
DEFINES += "NO_PDF"
}
!CONFIG(no_opengl) {
LIBS += -lGLU

View File

@ -579,7 +579,7 @@ void ThumbnailCreator::create()
QLOG_WARN() << "Extracting cover: file not found " << _fileSource;
return;
}
#ifndef NO_PDF
if(fi.suffix().compare("pdf",Qt::CaseInsensitive) == 0)
{
#if defined Q_OS_MAC && defined USE_PDFKIT
@ -632,7 +632,7 @@ void ThumbnailCreator::create()
#endif
#else
QImage p = pdfComic->page(_coverPage-1)->renderToImage(72,72);
#endif
#endif //
_cover = p;
if(_target!="")
{
@ -656,78 +656,77 @@ void ThumbnailCreator::create()
}
delete pdfComic;
}
return;
}
#endif //NO_PDF
if(crash)
{
return;
}
CompressedArchive archive(_fileSource);
if(!archive.toolsLoaded())
{
QLOG_WARN() << "Extracting cover: 7z lib not loaded";
crash = true;
return;
}
if(!archive.isValid())
{
QLOG_WARN() << "Extracting cover: file format not supported " << _fileSource;
}
//se filtran para obtener sólo los formatos soportados
QList<QString> order = archive.getFileNames();
QList<QString> fileNames = FileComic::filter(order);
_numPages = fileNames.size();
if(_numPages == 0)
{
QLOG_WARN() << "Extracting cover: empty comic " << _fileSource;
_cover.load(":/images/notCover.png");
if(_target!="")
{
_cover.save(_target);
}
}
else
{
if(_coverPage > _numPages)
{
_coverPage = 1;
}
qSort(fileNames.begin(),fileNames.end(), naturalSortLessThanCI);
int index = order.indexOf(fileNames.at(_coverPage-1));
if(crash)
if(_target=="")
{
return;
}
CompressedArchive archive(_fileSource);
if(!archive.toolsLoaded())
{
QLOG_WARN() << "Extracting cover: 7z lib not loaded";
crash = true;
return;
}
if(!archive.isValid())
{
QLOG_WARN() << "Extracting cover: file format not supported " << _fileSource;
}
//se filtran para obtener sólo los formatos soportados
QList<QString> order = archive.getFileNames();
QList<QString> fileNames = FileComic::filter(order);
_numPages = fileNames.size();
if(_numPages == 0)
{
QLOG_WARN() << "Extracting cover: empty comic " << _fileSource;
_cover.load(":/images/notCover.png");
if(_target!="")
if(!_cover.loadFromData(archive.getRawDataAtIndex(index)))
{
_cover.save(_target);
QLOG_WARN() << "Extracting cover: unable to load image from extracted cover " << _fileSource;
_cover.load(":/images/notCover.png");
}
}
else
{
if(_coverPage > _numPages)
QImage p;
if(p.loadFromData(archive.getRawDataAtIndex(index)))
{
_coverPage = 1;
}
qSort(fileNames.begin(),fileNames.end(), naturalSortLessThanCI);
int index = order.indexOf(fileNames.at(_coverPage-1));
if(_target=="")
{
if(!_cover.loadFromData(archive.getRawDataAtIndex(index)))
QImage scaled;
if(p.width()>p.height()) //landscape??
{
QLOG_WARN() << "Extracting cover: unable to load image from extracted cover " << _fileSource;
_cover.load(":/images/notCover.png");
}
}
else
{
QImage p;
if(p.loadFromData(archive.getRawDataAtIndex(index)))
{
QImage scaled;
if(p.width()>p.height()) //landscape??
{
scaled = p.scaledToWidth(640,Qt::SmoothTransformation);
}
else
{
scaled = p.scaledToWidth(480,Qt::SmoothTransformation);
}
scaled.save(_target,0,75);
scaled = p.scaledToWidth(640,Qt::SmoothTransformation);
}
else
{
QLOG_WARN() << "Extracting cover: unable to load image from extracted cover " << _fileSource;
//p.load(":/images/notCover.png");
//p.save(_target);
scaled = p.scaledToWidth(480,Qt::SmoothTransformation);
}
scaled.save(_target,0,75);
}
else
{
QLOG_WARN() << "Extracting cover: unable to load image from extracted cover " << _fileSource;
//p.load(":/images/notCover.png");
//p.save(_target);
}
}
}