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