File indexing completed on 2024-05-26 04:32:43

0001 /*
0002  *  SPDX-FileCopyrightText: 2020 Saurabh Kumar <saurabhk660@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #ifndef DLG_EXPORTSTORYBOARD
0008 #define DLG_EXPORTSTORYBOARD
0009 
0010 #include <QWidget>
0011 #include <QPageLayout>
0012 #include <QPageSize>
0013 
0014 #include <KoDialog.h>
0015 #include "ui_wdgexportstoryboard.h"
0016 
0017 class QPageSize;
0018 class KisTimeSpan;
0019 
0020 enum ExportFormat
0021 {
0022     PDF = 0,
0023     SVG
0024 };
0025 
0026 enum ExportLayout
0027 {
0028     ROWS = 0,
0029     COLUMNS = 1,
0030     GRID = 2,
0031     SVG_TEMPLATE = 3
0032 };
0033 
0034 class WdgExportStoryboard : public QWidget, public Ui::WdgExportStoryboard
0035 {
0036     Q_OBJECT
0037 
0038 public:
0039 
0040     WdgExportStoryboard(QWidget* parent)
0041         : QWidget(parent)
0042     {
0043         setupUi(this);
0044     }
0045 };
0046 
0047 class StoryboardModel;
0048 
0049 class DlgExportStoryboard: public KoDialog
0050 {
0051     Q_OBJECT
0052 public:
0053     DlgExportStoryboard(ExportFormat format, QSharedPointer<StoryboardModel> model);
0054     ~DlgExportStoryboard() override;
0055     int rows() const;
0056     int columns() const;
0057     QPageSize pageSize() const;
0058     QPageLayout::Orientation pageOrientation() const;
0059     bool layoutSpecifiedBySvgFile() const;
0060     QString layoutSvgFile() const;
0061     QString saveFileName() const;
0062     ExportFormat format() const;
0063     ExportLayout exportLayout() const;
0064     int fontSize() const;
0065     void setUsableMaximums(QPageSize pPageSize, QPageLayout::Orientation pOrientation, ExportLayout pLayout );
0066 
0067 private Q_SLOTS:
0068     void slotExportClicked();
0069     void slotLayoutChanged(int state);
0070     void slotPageSettingsChanged(int);
0071 
0072 private:
0073     WdgExportStoryboard *m_page {0};
0074     QString m_exportFileName;
0075     ExportFormat m_format;
0076     QSharedPointer<StoryboardModel> m_model;
0077 };
0078 
0079 #endif