File indexing completed on 2024-05-12 04:34:02

0001 /*
0002     SPDX-FileCopyrightText: 2008 Jakub Stachowski <qbast@go2.pl>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 #ifndef MOBI_DOCUMENT_H
0007 #define MOBI_DOCUMENT_H
0008 
0009 #include <QTextDocument>
0010 #include <QUrl>
0011 #include <QVariant>
0012 
0013 class QFile;
0014 namespace Mobipocket
0015 {
0016 class Document;
0017 class QFileStream;
0018 }
0019 
0020 namespace Mobi
0021 {
0022 class MobiDocument : public QTextDocument
0023 {
0024     Q_OBJECT
0025 
0026 public:
0027     explicit MobiDocument(const QString &fileName);
0028     ~MobiDocument() override;
0029 
0030     Mobipocket::Document *mobi() const
0031     {
0032         return doc;
0033     }
0034 
0035 protected:
0036     QVariant loadResource(int type, const QUrl &name) override;
0037 
0038 private:
0039     QString fixMobiMarkup(const QString &data);
0040     Mobipocket::Document *doc;
0041     Mobipocket::QFileStream *file;
0042 };
0043 
0044 }
0045 #endif