File indexing completed on 2024-05-12 16:06:33

0001 /*
0002     SPDX-FileCopyrightText: 2007 Tobias Koenig <tokoe@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef COMICBOOK_DOCUMENT_H
0008 #define COMICBOOK_DOCUMENT_H
0009 
0010 #include <QStringList>
0011 
0012 class KArchiveDirectory;
0013 class KArchive;
0014 class QImage;
0015 class Unrar;
0016 class Directory;
0017 
0018 namespace Okular
0019 {
0020 class Page;
0021 }
0022 
0023 namespace ComicBook
0024 {
0025 class Document
0026 {
0027 public:
0028     Document();
0029     ~Document();
0030 
0031     bool open(const QString &fileName);
0032     void close();
0033 
0034     void pages(QVector<Okular::Page *> *pagesVector);
0035     QStringList pageTitles() const;
0036 
0037     QImage pageImage(int page) const;
0038 
0039     QString lastErrorString() const;
0040 
0041 private:
0042     bool processArchive();
0043 
0044     QStringList mPageMap;
0045     Directory *mDirectory;
0046     Unrar *mUnrar;
0047     KArchive *mArchive;
0048     const KArchiveDirectory *mArchiveDir;
0049     QString mLastErrorString;
0050     QStringList mEntries;
0051 };
0052 
0053 }
0054 
0055 #endif