File indexing completed on 2024-06-16 04:20:02

0001 /*
0002     Kchmviewer - a CHM and EPUB file viewer with broad language support
0003     SPDX-FileCopyrightText: 2004-2014 George Yunaev gyunaev@ulduzsoft.com
0004 
0005     SPDX-License-Identifier: GPL-3.0-or-later
0006 */
0007 
0008 #ifndef HELPERXMLHANDLER_EPUBTOC_H
0009 #define HELPERXMLHANDLER_EPUBTOC_H
0010 
0011 #include "ebook_epub.h"
0012 #include <QXmlDefaultHandler>
0013 
0014 class HelperXmlHandler_EpubTOC : public QXmlDefaultHandler
0015 {
0016 public:
0017     explicit HelperXmlHandler_EpubTOC(EBook_EPUB *epub);
0018 
0019     QList<EBookTocEntry> entries;
0020 
0021 private:
0022     // Overridden members
0023     bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &atts) override;
0024     bool characters(const QString &ch) override;
0025     bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName) override;
0026     void checkNewTocEntry();
0027 
0028     bool m_inNavMap;
0029     bool m_inText;
0030     unsigned int m_indent;
0031     QString m_lastId;
0032     QString m_lastTitle;
0033     EBook_EPUB *m_epub;
0034 };
0035 
0036 #endif // HELPERXMLHANDLER_EPUBTOC_H