Albert S
759d2a7924
Sigh. quazip changed the lib name, include locations, etc. from version 1. Some distributions only have 0.9. Some only 1.x and so some packages break, so they simply patch it when building the package. Luckily, nothing we use from quazip is affected from an API perspective. So detect if there is quazip1, then use pkg-config to link that, else do it like before.
27 sor
696 B
C++
27 sor
696 B
C++
#include <quazip.h>
|
|
#include <quazipfile.h>
|
|
#include "odtprocessor.h"
|
|
#include "tagstripperprocessor.h"
|
|
|
|
QVector<PageData> OdtProcessor::process(const QByteArray &data) const
|
|
{
|
|
throw LooqsGeneralException("Not implemented yet");
|
|
}
|
|
|
|
QVector<PageData> OdtProcessor::process(QString path) const
|
|
{
|
|
QuaZipFile zipFile(path);
|
|
zipFile.setFileName("content.xml");
|
|
if(!zipFile.open(QIODevice::ReadOnly))
|
|
{
|
|
throw LooqsGeneralException("Error while opening file " + path);
|
|
}
|
|
QByteArray entireContent = zipFile.readAll();
|
|
if(entireContent.isEmpty())
|
|
{
|
|
throw LooqsGeneralException("Error while reading content.xml of " + path);
|
|
}
|
|
TagStripperProcessor tsp;
|
|
return tsp.process(entireContent);
|
|
}
|