File indexing completed on 2024-05-12 16:06:41
0001 /* 0002 SPDX-FileCopyrightText: 2008 Ely Levy <elylevy@cs.huji.ac.il> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef EPUB_CONVERTER_H 0008 #define EPUB_CONVERTER_H 0009 0010 #include <QFont> 0011 #include <core/document.h> 0012 #include <core/textdocumentgenerator.h> 0013 0014 #include "epubdocument.h" 0015 0016 namespace Epub 0017 { 0018 class Converter : public Okular::TextDocumentConverter 0019 { 0020 Q_OBJECT 0021 0022 public: 0023 Converter(); 0024 ~Converter() override; 0025 0026 QTextDocument *convert(const QString &fileName) override; 0027 0028 private: 0029 void _emitData(Okular::DocumentInfo::Key key, enum epub_metadata type); 0030 void _handle_anchors(const QTextBlock &start, const QString &name); 0031 void _insert_local_links(const QString &key, const QPair<int, int> value); 0032 EpubDocument *mTextDocument; 0033 QFont mFont; 0034 0035 QHash<QString, QTextBlock> mSectionMap; 0036 QHash<QString, QVector<QPair<int, int>>> mLocalLinks; 0037 }; 0038 } 0039 0040 #endif