#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