File indexing completed on 2024-04-21 04:58:01
0001 /* This file is part of the KDE project 0002 0003 SPDX-FileCopyrightText: 2001, 2003 Lukas Tinkl <lukas@kde.org> 0004 SPDX-FileCopyrightText: Andreas Schlapbach <schlpbch@iam.unibe.ch> 0005 0006 SPDX-License-Identifier: LGPL-2.0-only 0007 */ 0008 0009 #ifndef kimgalleryplugin_h 0010 #define kimgalleryplugin_h 0011 0012 #include <kparts/readonlypart.h> 0013 #include <konq_kpart_plugin.h> 0014 0015 #include <QDir> 0016 0017 class QProgressDialog; 0018 class KIGPDialog; 0019 class QTextStream; 0020 0021 typedef QMap<QString, QString> CommentMap; 0022 0023 class KImGalleryPlugin : public KonqParts::Plugin 0024 { 0025 Q_OBJECT 0026 public: 0027 KImGalleryPlugin(QObject *parent, 0028 const QVariantList &); 0029 ~KImGalleryPlugin() override {} 0030 0031 public slots: 0032 void slotExecute(); 0033 void slotCancelled(); 0034 0035 private: 0036 bool m_cancelled; 0037 bool m_recurseSubDirectories; 0038 bool m_copyFiles; 0039 bool m_useCommentFile; 0040 0041 int m_imgWidth; 0042 int m_imgHeight; 0043 int m_imagesPerRow; 0044 0045 QProgressDialog *m_progressDlg; 0046 0047 KParts::ReadOnlyPart *m_part; 0048 0049 KIGPDialog *m_configDlg; 0050 0051 CommentMap *m_commentMap; 0052 0053 bool createDirectory(const QDir &thumb_dir, const QString &imgGalleryDir, const QString &dirName); 0054 0055 void createHead(QTextStream &stream); 0056 void createCSSSection(QTextStream &stream); 0057 void createBody(QTextStream &stream, const QString &sourceDirName, const QStringList &subDirList, const QDir &imageDir, const QUrl &url, const QString &imageFormat); 0058 0059 bool createThumb(const QString &imgName, const QString &sourceDirName, const QString &imgGalleryDir, const QString &imageFormat); 0060 0061 bool createHtml(const QUrl &url, const QString &sourceDirName, int recursionLevel, const QString &imageFormat); 0062 void deleteCancelledGallery(const QUrl &url, const QString &sourceDirName, int recursionLevel, const QString &imageFormat); 0063 void loadCommentFile(); 0064 0065 static QString extension(const QString &imageFormat); 0066 }; 0067 0068 #endif