1 /* This file is part of the KDE project 2 3 SPDX-FileCopyrightText: 2001, 2003 Lukas Tinkl <lukas@kde.org> 4 SPDX-FileCopyrightText: Andreas Schlapbach <schlpbch@iam.unibe.ch> 5 6 SPDX-License-Identifier: LGPL-2.0-only 7 */ 8 9 #ifndef kimgalleryplugin_h 10 #define kimgalleryplugin_h 11 12 #include <kparts/plugin.h> 13 #include <kparts/readonlypart.h> 14 #include <QDir> 15 16 class QProgressDialog; 17 class KIGPDialog; 18 class QTextStream; 19 20 typedef QMap<QString, QString> CommentMap; 21 22 class KImGalleryPlugin : public KParts::Plugin 23 { 24 Q_OBJECT 25 public: 26 KImGalleryPlugin(QObject *parent, 27 const QVariantList &); ~KImGalleryPlugin()28 ~KImGalleryPlugin() override {} 29 30 public slots: 31 void slotExecute(); 32 void slotCancelled(); 33 34 private: 35 bool m_cancelled; 36 bool m_recurseSubDirectories; 37 bool m_copyFiles; 38 bool m_useCommentFile; 39 40 int m_imgWidth; 41 int m_imgHeight; 42 int m_imagesPerRow; 43 44 QProgressDialog *m_progressDlg; 45 46 KParts::ReadOnlyPart *m_part; 47 48 KIGPDialog *m_configDlg; 49 50 CommentMap *m_commentMap; 51 52 bool createDirectory(const QDir &thumb_dir, const QString &imgGalleryDir, const QString &dirName); 53 54 void createHead(QTextStream &stream); 55 void createCSSSection(QTextStream &stream); 56 void createBody(QTextStream &stream, const QString &sourceDirName, const QStringList &subDirList, const QDir &imageDir, const QUrl &url, const QString &imageFormat); 57 58 bool createThumb(const QString &imgName, const QString &sourceDirName, const QString &imgGalleryDir, const QString &imageFormat); 59 60 bool createHtml(const QUrl &url, const QString &sourceDirName, int recursionLevel, const QString &imageFormat); 61 void deleteCancelledGallery(const QUrl &url, const QString &sourceDirName, int recursionLevel, const QString &imageFormat); 62 void loadCommentFile(); 63 64 static QString extension(const QString &imageFormat); 65 }; 66 67 #endif 68