diff --git a/include/eible/ImportOds.h b/include/eible/ImportOds.h index 2070a82..9eebb8a 100644 --- a/include/eible/ImportOds.h +++ b/include/eible/ImportOds.h @@ -50,7 +50,7 @@ class EIBLE_EXPORT ImportOds : public ImportSpreadsheet std::tuple> retrieveRowCountAndColumnTypes(const QString& sheetName) override; - bool moveToSecondRow(const QString& sheetName, QuaZipFile& zipFile, + bool moveToSecondRow(const QString& sheetName, QuaZipFile& quaZipFile, QXmlStreamReader& reader) const; void skipToSheet(QXmlStreamReader& reader, const QString& sheetName) const; diff --git a/include/eible/ImportSpreadsheet.h b/include/eible/ImportSpreadsheet.h index 21ef37e..f6cd9cd 100644 --- a/include/eible/ImportSpreadsheet.h +++ b/include/eible/ImportSpreadsheet.h @@ -102,9 +102,9 @@ class EIBLE_EXPORT ImportSpreadsheet : public QObject bool setCurrentZipFile(const QString& zipFileName); - bool openZipFile(QuaZipFile& zipFile); + bool openZipFile(QuaZipFile& quaZipFile); - bool initZipFile(QuaZipFile& zipFile, const QString& zipFileName); + bool initZipFile(QuaZipFile& quaZipFile, const QString& zipFileName); static QVector createTemplateDataRow( const QVector& excludedColumns, diff --git a/include/eible/ImportXlsx.h b/include/eible/ImportXlsx.h index b33d500..f588b13 100644 --- a/include/eible/ImportXlsx.h +++ b/include/eible/ImportXlsx.h @@ -63,7 +63,8 @@ class EIBLE_EXPORT ImportXlsx : public ImportSpreadsheet std::pair getSheetPath(const QString& sheetName); - bool moveToSecondRow(QuaZipFile& zipFile, QXmlStreamReader& reader) const; + bool moveToSecondRow(QuaZipFile& quaZipFile, + QXmlStreamReader& reader) const; std::pair getCount( const QString& sheetName, @@ -75,7 +76,7 @@ class EIBLE_EXPORT ImportXlsx : public ImportSpreadsheet const QMap& sheetIdToUserFriendlyNameMap); std::pair getSheetNodes( - QuaZipFile& zipFile, + QuaZipFile& quaZipFile, const std::function& nodesRetriever); bool isRowStart(const QXmlStreamReader& reader) const; diff --git a/src/ImportOds.cpp b/src/ImportOds.cpp index 3d7c9c3..816c236 100644 --- a/src/ImportOds.cpp +++ b/src/ImportOds.cpp @@ -39,11 +39,12 @@ std::pair> ImportOds::getColumnTypes( if (sheetNames_.has_value() && (!isSheetNameValid(*sheetNames_, sheetName))) return {false, {}}; - QuaZipFile zipFile; - if (!initZipFile(zipFile, QStringLiteral("content.xml"))) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, QStringLiteral("content.xml"))) return {false, {}}; - if (QXmlStreamReader reader; !moveToSecondRow(sheetName, zipFile, reader)) + if (QXmlStreamReader reader; + !moveToSecondRow(sheetName, quaZipFile, reader)) return {false, {}}; if (!analyzeSheet(sheetName)) @@ -79,12 +80,12 @@ std::pair>> ImportOds::getLimitedData( if (!columnsToExcludeAreValid(excludedColumns, columnCount)) return {false, {}}; - QuaZipFile zipFile; - if (!initZipFile(zipFile, QStringLiteral("content.xml"))) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, QStringLiteral("content.xml"))) return {false, {}}; QXmlStreamReader reader; - if (!moveToSecondRow(sheetName, zipFile, reader)) + if (!moveToSecondRow(sheetName, quaZipFile, reader)) return {false, {}}; const QVector templateDataRow( @@ -153,12 +154,12 @@ std::pair>> ImportOds::getLimitedData( std::pair ImportOds::getSheetNamesFromZipFile() { - QuaZipFile zipFile; - if (!initZipFile(zipFile, QStringLiteral("settings.xml"))) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, QStringLiteral("settings.xml"))) return {false, {}}; QDomDocument xmlDocument; - if (!xmlDocument.setContent(zipFile.readAll())) + if (!xmlDocument.setContent(quaZipFile.readAll())) { setError(QStringLiteral("Xml file is damaged.")); return {false, {}}; @@ -218,12 +219,12 @@ std::pair ImportOds::getCount( std::pair ImportOds::retrieveColumnNames( const QString& sheetName) { - QuaZipFile zipFile; - if (!initZipFile(zipFile, QStringLiteral("content.xml"))) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, QStringLiteral("content.xml"))) return {false, {}}; QXmlStreamReader reader; - reader.setDevice(&zipFile); + reader.setDevice(&quaZipFile); skipToSheet(reader, sheetName); while ((!reader.atEnd()) && (reader.name() != TABLE_ROW_TAG)) @@ -258,12 +259,12 @@ std::pair ImportOds::retrieveColumnNames( std::tuple> ImportOds::retrieveRowCountAndColumnTypes(const QString& sheetName) { - QuaZipFile zipFile; - if (!initZipFile(zipFile, QStringLiteral("content.xml"))) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, QStringLiteral("content.xml"))) return {false, {}, {}}; QXmlStreamReader reader; - if (!moveToSecondRow(sheetName, zipFile, reader)) + if (!moveToSecondRow(sheetName, quaZipFile, reader)) return {false, {}, {}}; QVector columnTypes; @@ -315,10 +316,11 @@ ImportOds::retrieveRowCountAndColumnTypes(const QString& sheetName) return {true, rowCounter, columnTypes}; } -bool ImportOds::moveToSecondRow(const QString& sheetName, QuaZipFile& zipFile, +bool ImportOds::moveToSecondRow(const QString& sheetName, + QuaZipFile& quaZipFile, QXmlStreamReader& reader) const { - reader.setDevice(&zipFile); + reader.setDevice(&quaZipFile); skipToSheet(reader, sheetName); bool secondRow{false}; diff --git a/src/ImportSpreadsheet.cpp b/src/ImportSpreadsheet.cpp index 2583a4c..3033b06 100644 --- a/src/ImportSpreadsheet.cpp +++ b/src/ImportSpreadsheet.cpp @@ -82,21 +82,22 @@ bool ImportSpreadsheet::setCurrentZipFile(const QString& zipFileName) return true; } -bool ImportSpreadsheet::openZipFile(QuaZipFile& zipFile) +bool ImportSpreadsheet::openZipFile(QuaZipFile& quaZipFile) { - zipFile.setZip(&zip_); - if (!zipFile.open(QIODevice::ReadOnly | QIODevice::Text)) + quaZipFile.setZip(&zip_); + if (!quaZipFile.open(QIODevice::ReadOnly | QIODevice::Text)) { - setError("Can not open file " + zipFile.getFileName() + "."); + setError("Can not open file " + quaZipFile.getFileName() + "."); return false; } return true; } -bool ImportSpreadsheet::initZipFile(QuaZipFile& zipFile, +bool ImportSpreadsheet::initZipFile(QuaZipFile& quaZipFile, const QString& zipFileName) { - return openZip() && setCurrentZipFile(zipFileName) && openZipFile(zipFile); + return openZip() && setCurrentZipFile(zipFileName) && + openZipFile(quaZipFile); } QMap ImportSpreadsheet::createActiveColumnMapping( diff --git a/src/ImportXlsx.cpp b/src/ImportXlsx.cpp index 7db544b..d7c30e5 100644 --- a/src/ImportXlsx.cpp +++ b/src/ImportXlsx.cpp @@ -117,12 +117,12 @@ QList ImportXlsx::retrieveAllStyles(const QDomNodeList& sheetNodes) std::tuple>, std::optional>> ImportXlsx::getStyles() { - QuaZipFile zipFile; - if (!initZipFile(zipFile, QStringLiteral("xl/styles.xml"))) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, QStringLiteral("xl/styles.xml"))) return {false, {}, {}}; QDomDocument xmlDocument; - if (!xmlDocument.setContent(zipFile.readAll())) + if (!xmlDocument.setContent(quaZipFile.readAll())) { setError(QStringLiteral("Xml file is corrupted.")); return {false, std::nullopt, std::nullopt}; @@ -166,12 +166,12 @@ std::pair ImportXlsx::getSharedStrings() if (!setCurrentZipFile(QStringLiteral("xl/sharedStrings.xml"))) return {true, {}}; - QuaZipFile zipFile; - if (!openZipFile(zipFile)) + QuaZipFile quaZipFile; + if (!openZipFile(quaZipFile)) return {false, {}}; QXmlStreamReader reader; - reader.setDevice(&zipFile); + reader.setDevice(&quaZipFile); QStringList sharedStrings; while (!reader.atEnd()) @@ -204,10 +204,10 @@ std::pair> ImportXlsx::getColumnTypes( return {true, columnTypes_.value(sheetName)}; } -bool ImportXlsx::moveToSecondRow(QuaZipFile& zipFile, +bool ImportXlsx::moveToSecondRow(QuaZipFile& quaZipFile, QXmlStreamReader& reader) const { - reader.setDevice(&zipFile); + reader.setDevice(&quaZipFile); bool secondRow{false}; while (!reader.atEnd()) { @@ -241,11 +241,11 @@ std::pair ImportXlsx::getCount( } std::pair ImportXlsx::getSheetNodes( - QuaZipFile& zipFile, + QuaZipFile& quaZipFile, const std::function& nodesRetriever) { QDomDocument xmlDocument; - if (!xmlDocument.setContent(zipFile.readAll())) + if (!xmlDocument.setContent(quaZipFile.readAll())) { setError(QStringLiteral("File is corrupted.")); return {false, {}}; @@ -288,12 +288,12 @@ std::pair ImportXlsx::retrieveColumnNames( if (!sheetFound) return {false, {}}; - QuaZipFile zipFile; - if (!initZipFile(zipFile, sheetPath)) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, sheetPath)) return {false, {}}; QXmlStreamReader reader; - reader.setDevice(&zipFile); + reader.setDevice(&quaZipFile); skipToFirstRow(reader); int columnIndex{NOT_SET_COLUMN}; @@ -333,12 +333,12 @@ ImportXlsx::retrieveRowCountAndColumnTypes(const QString& sheetName) if (!sheetFound) return {false, {}, {}}; - QuaZipFile zipFile; - if (!initZipFile(zipFile, sheetPath)) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, sheetPath)) return {false, {}, {}}; QXmlStreamReader reader; - if (!moveToSecondRow(zipFile, reader)) + if (!moveToSecondRow(quaZipFile, reader)) return {false, {}, {}}; QVector columnTypes; @@ -442,14 +442,14 @@ ColumnType ImportXlsx::recognizeColumnType(ColumnType currentType, std::pair> ImportXlsx::getSheetIdToUserFriendlyNameMap() { - QuaZipFile zipFile; - if (!initZipFile(zipFile, QStringLiteral("xl/workbook.xml"))) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, QStringLiteral("xl/workbook.xml"))) return {false, {}}; auto nodesRetriever{[](const QDomElement& root) { return root.firstChildElement(QStringLiteral("sheets")).childNodes(); }}; - auto [sucess, sheetNodes]{getSheetNodes(zipFile, nodesRetriever)}; + auto [sucess, sheetNodes]{getSheetNodes(quaZipFile, nodesRetriever)}; if (!sucess) return {false, {}}; @@ -469,12 +469,12 @@ std::pair>> ImportXlsx::retrieveSheets( const QMap& sheetIdToUserFriendlyNameMap) { - QuaZipFile zipFile; - if (!initZipFile(zipFile, QStringLiteral("xl/_rels/workbook.xml.rels"))) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, QStringLiteral("xl/_rels/workbook.xml.rels"))) return {false, {}}; auto [sucess, sheetNodes]{getSheetNodes( - zipFile, [](const QDomElement& root) { return root.childNodes(); })}; + quaZipFile, [](const QDomElement& root) { return root.childNodes(); })}; if (!sucess) return {false, {}}; @@ -596,12 +596,12 @@ std::pair>> ImportXlsx::getLimitedData( if (!sheetFound) return {false, {}}; - QuaZipFile zipFile; - if (!initZipFile(zipFile, sheetPath)) + QuaZipFile quaZipFile; + if (!initZipFile(quaZipFile, sheetPath)) return {false, {}}; QXmlStreamReader reader; - moveToSecondRow(zipFile, reader); + moveToSecondRow(quaZipFile, reader); const QVector templateDataRow( createTemplateDataRow(excludedColumns, columnTypes));