Warning, file /graphics/kphotoalbum/HTMLGenerator/HTMLDialog.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // SPDX-FileCopyrightText: 2003-2020 Jesper K. Pedersen <blackie@kde.org>
0002 // SPDX-FileCopyrightText: 2022 Johannes Zarl-Zierl <johannes@zarl-zierl.at>
0003 //
0004 // SPDX-License-Identifier: GPL-2.0-or-later
0005 
0006 #ifndef HTMLGENERATOR_HTMLDIALOG_H
0007 #define HTMLGENERATOR_HTMLDIALOG_H
0008 
0009 #include <kpabase/FileNameList.h>
0010 
0011 #include <KComboBox>
0012 #include <KPageDialog>
0013 
0014 class QCheckBox;
0015 class QComboBox;
0016 class QLabel;
0017 class QLineEdit;
0018 class QSpinBox;
0019 class QTextEdit;
0020 
0021 namespace HTMLGenerator
0022 {
0023 class ImageSizeCheckBox;
0024 class Generator;
0025 class Setup;
0026 
0027 class HTMLDialog : public KPageDialog
0028 {
0029     Q_OBJECT
0030 
0031 public:
0032     explicit HTMLDialog(QWidget *parent);
0033     // prevent hiding of base class method:
0034     using KPageDialog::exec;
0035     int exec(const DB::FileNameList &list);
0036 
0037 protected Q_SLOTS:
0038     void slotOk();
0039     void selectDir();
0040     void displayThemeDescription(int);
0041     void slotUpdateOutputLabel();
0042     void slotSuggestOutputDir();
0043 
0044 protected:
0045     bool event(QEvent *event) override;
0046     bool checkVars();
0047     Setup setup() const;
0048     QList<ImageSizeCheckBox *> activeResolutions() const;
0049     QString activeSizes() const;
0050     QString includeSelections() const;
0051     void populateThemesCombo();
0052     void createContentPage();
0053     void createLayoutPage();
0054     void createDestinationPage();
0055 
0056 private:
0057     QLineEdit *m_title;
0058     QLineEdit *m_baseDir;
0059     QLineEdit *m_destURL;
0060     QLineEdit *m_outputDir;
0061     QLabel *m_outputLabel;
0062     QCheckBox *m_openInBrowser;
0063     QLineEdit *m_copyright;
0064     QCheckBox *m_date;
0065     QSpinBox *m_thumbSize;
0066     QTextEdit *m_description;
0067     QSpinBox *m_numOfCols;
0068     QCheckBox *m_generateKimFile;
0069     QCheckBox *m_inlineMovies;
0070     QCheckBox *m_html5Video;
0071     QCheckBox *m_html5VideoGenerate;
0072     QMap<int, QString> m_themes;
0073     KComboBox *m_themeBox;
0074     QLabel *m_themeInfo;
0075     QStringList m_themeAuthors;
0076     QStringList m_themeDescriptions;
0077     QMap<QString, QCheckBox *> m_whatToIncludeMap;
0078     QList<ImageSizeCheckBox *> m_sizeCheckBoxes;
0079     DB::FileNameList m_list;
0080 };
0081 }
0082 
0083 #endif /* HTMLGENERATOR_HTMLDIALOG_H */
0084 
0085 // vi:expandtab:tabstop=4 shiftwidth=4: