From d24f813f3f2a05c112e803e4256b53535895fc98 Mon Sep 17 00:00:00 2001 From: Jedidiah Barber Date: Wed, 14 Jul 2021 11:49:10 +1200 Subject: Initial mirror commit --- src/study/StudyFileReader.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/study/StudyFileReader.h (limited to 'src/study/StudyFileReader.h') diff --git a/src/study/StudyFileReader.h b/src/study/StudyFileReader.h new file mode 100644 index 0000000..2466fe3 --- /dev/null +++ b/src/study/StudyFileReader.h @@ -0,0 +1,44 @@ +#ifndef STUDYFILEREADER_H +#define STUDYFILEREADER_H + +#include +#include +#include + +#include "StudySettings.h" +#include "StudyRecord.h" + +class Dictionary; +class CardPack; +class DicRecord; + +class StudyFileReader : public QXmlStreamReader +{ +public: + StudyFileReader( Dictionary* aDict ); + bool read( QIODevice* aDevice ); + +private: + static const QString MinSupportedStudyVersion; + +private: + void readStudy(); + void readUnknownElement(); + void readStudyCurrentVersion(); + void readPack(); + void readC(); + void readR(); + void fixupIncorrectGradeIn1_4(StudyRecord& study); + +private: + static bool equalDouble(double a, double b); + +private: + Dictionary* m_dict; + QString m_studyVersion; + CardPack* m_cardPack; + QString m_cardId; + StudySettings* settings; +}; + +#endif // STUDYFILEREADER_H -- cgit