1 /*
2 For general Scribus (>=1.3.2) copyright and licensing information please refer
3 to the COPYING file provided with the program. Following this notice may exist
4 a copyright and/or license notice that predates the release of Scribus 1.3.2
5 for which a new license (GPL+exception) is in place.
6 */
7 #ifndef PDF_OPTS_H
8 #define PDF_OPTS_H
9 
10 #include <QDialog>
11 #include <QList>
12 class QHBoxLayout;
13 class QGridLayout;
14 class QVBoxLayout;
15 class QGroupBox;
16 class QLineEdit;
17 class QToolButton;
18 class QCheckBox;
19 class QPushButton;
20 
21 #include "scribusapi.h"
22 #include "scribusstructs.h"
23 #include "ui/tabpdfoptions.h"
24 class ScribusView;
25 
26 /**
27  * @file pdfopts.h
28  * @brief PDF export GUI code
29  */
30 
31 class PDFOptions;
32 class ScribusDoc;
33 
34 /**
35  * @brief PDF export dialog
36  *
37  * Most of the guts of the dialog actually come from TabPDFOptions, which
38  * is also used by the preferences dialog.
39  */
40 class SCRIBUS_API PDFExportDialog : public QDialog
41 {
42 	Q_OBJECT
43 
44 public:
45 	PDFExportDialog( QWidget* parent, const QString & docFileName,
46 					 const QMap<QString, int > & DocFonts,
47 					 ScribusView * currView, PDFOptions & pdfOptions,
48 					 const ProfilesL & PDFXProfiles, const SCFonts & AllFonts,
49 					 const ProfilesL & printerProfiles);
~PDFExportDialog()50 	~PDFExportDialog() {};
51 
52 	void updateDocOptions();
53 	QString getPagesString();
54 
55 protected slots:
56 	void DoExport();
57 	void ChangeFile();
58 	void fileNameChanged();
59 	void enableSave();
60 	void disableSave();
61 
62 protected:
63 	// Widgets
64 	QVBoxLayout* PDFExportLayout;
65 	QGridLayout* NameLayout;
66 	QHBoxLayout* Layout7;
67 	QGroupBox* Name;
68 	QCheckBox* multiFile;
69 	QCheckBox* openAfterExportCheckBox;
70 	QPushButton* changeButton;
71 	QPushButton* okButton;
72 	QPushButton* cancelButton;
73 	QLineEdit* fileNameLineEdit;
74 	TabPDFOptions* Options;
75 
76 	// Other members
77 	ScribusDoc* m_doc;
78 	QList<PDFPresentationData> m_presEffects;
79 	PDFOptions & m_opts;
80 	double m_unitRatio;
81 	const ProfilesL & m_printerProfiles;
82 };
83 
84 #endif // PDF_OPTS_H
85