File indexing completed on 2024-04-28 04:58:03

0001 /*
0002  * SPDX-FileCopyrightText: 2019 Kai Uwe Broulik <kde@broulik.de>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005  */
0006 
0007 #pragma once
0008 
0009 #include <KIO/ThumbnailCreator>
0010 
0011 #include <QStringList>
0012 
0013 class QIODevice;
0014 
0015 class KArchiveDirectory;
0016 
0017 class EbookCreator : public KIO::ThumbnailCreator
0018 {
0019     Q_OBJECT
0020 public:
0021     EbookCreator(QObject *parent, const QVariantList &args);
0022     ~EbookCreator() override;
0023 
0024     KIO::ThumbnailResult create(const KIO::ThumbnailRequest &request) override;
0025 
0026     KIO::ThumbnailResult createEpub(const QString &path);
0027     // either a QFile or a KZipFileEntry
0028     KIO::ThumbnailResult createFb2(QIODevice *device);
0029 
0030     static QStringList getEntryList(const KArchiveDirectory *dir, const QString &path);
0031 };