Skip to content

Commit 7225a43

Browse files
committed
Add initializeColumnTypes method to ImportOds class and refactor getColumnTypes.
1 parent cc2ca48 commit 7225a43

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

include/eible/ImportOds.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ class EIBLE_EXPORT ImportOds : public ImportSpreadsheet
7777

7878
bool isSheetAvailable(const QString& sheetName);
7979

80+
bool initializeColumnTypes(const QString& sheetName);
81+
8082
std::optional<QStringList> sheetNames_{std::nullopt};
8183

8284
const QString TABLE_TAG{QStringLiteral("table")};

src/ImportOds.cpp

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,7 @@ std::pair<bool, QVector<ColumnType>> ImportOds::getColumnTypes(
3333
it != columnTypes_.constEnd())
3434
return {true, *it};
3535

36-
if (!isSheetAvailable(sheetName))
37-
return {false, {}};
38-
39-
QuaZipFile quaZipFile;
40-
if (!initZipFile(quaZipFile, QStringLiteral("content.xml")))
41-
return {false, {}};
42-
43-
if (QXmlStreamReader reader;
44-
!moveToSecondRow(sheetName, quaZipFile, reader))
45-
return {false, {}};
46-
47-
if (!analyzeSheet(sheetName))
36+
if (!isSheetAvailable(sheetName) || !initializeColumnTypes(sheetName))
4837
return {false, {}};
4938

5039
return {true, columnTypes_.value(sheetName)};
@@ -473,3 +462,16 @@ bool ImportOds::isSheetAvailable(const QString& sheetName)
473462

474463
return isSheetNameValid(*sheetNames_, sheetName);
475464
}
465+
466+
bool ImportOds::initializeColumnTypes(const QString& sheetName)
467+
{
468+
QuaZipFile quaZipFile;
469+
if (!initZipFile(quaZipFile, QStringLiteral("content.xml")))
470+
return false;
471+
472+
if (QXmlStreamReader reader;
473+
!moveToSecondRow(sheetName, quaZipFile, reader))
474+
return false;
475+
476+
return analyzeSheet(sheetName);
477+
}

0 commit comments

Comments
 (0)