Scribus
Open source desktop publishing at your fingertips
tabpdfoptions.h
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 TABPDF_OPTS_H
8 #define TABPDF_OPTS_H
9 
10 #include <QTabWidget>
11 #include <QMap>
12 #include <QList>
13 #include <QStringList>
14 
15 class QGridLayout;
16 class QHBoxLayout;
17 class QVBoxLayout;
18 class QGroupBox;
19 class QCheckBox;
20 class QComboBox;
21 class QRadioButton;
22 class QPushButton;
23 class QToolButton;
24 class QLineEdit;
25 class QLabel;
26 class QSpinBox;
27 class QListWidget;
28 class QListWidgetItem;
29 
30 #include "scribusapi.h"
31 #include "bookmwin.h"
32 
33 #include "ui_tabpdfoptions.h"
34 
35 class PDFOptions;
36 class PDFExportDialog;
37 class ScribusDoc;
38 class ScrSpinBox;
39 
40 class TabPDFOptions : public QTabWidget, Ui::TabPDFOptions
41 {
42  Q_OBJECT
43 
44 public:
45  TabPDFOptions(QWidget* parent, PDFOptions & Optionen,
46  const SCFonts &AllFonts,
47  const ProfilesL & PDFXProfiles,
48  const QMap<QString, int> & DocFonts,
49  ScribusDoc *doc);
50  ~TabPDFOptions() {};
51 
52  void restoreDefaults(PDFOptions & Optionen,
53  const SCFonts &AllFonts,
54  const ProfilesL & PDFXProfiles,
55  const QMap<QString, int> & DocFonts);
56 
57  void storeValues(PDFOptions& options);
58 
59  void unitChange(int docUnitIndex);
60 
61  PDFOptions::PDFFontEmbedding fontEmbeddingMode();
62  QStringList fontsToEmbed();
63  QStringList fontsToSubset();
64  QStringList fontsToOutline();
65 
66 signals:
67  void noInfo();
68  void hasInfo();
69 
70 public slots:
71  void doDocBleeds();
72  void ToggleEncr();
73  void EnablePDFX(int a);
74  void DoDownsample();
75  void EmbeddingModeChange();
76  void RemoveSubset();
77  void PutToSubset();
78  void SelEFont(QListWidgetItem*);
79  void SelSFont(QListWidgetItem*);
80  void EmbedAll();
81  void SubsetAll();
82  void PagePr();
83  void SetPgEff(QListWidgetItem* current, QListWidgetItem* previous);
84  void SetEffOpts(int nr);
85  void ValidDI(int nr);
86  void PDFMirror();
87  void Rotation(int value);
88  void DoEffects();
89  void EffectOnAll();
90  void SelRange(bool e);
91  void EnablePr(int a);
92  void EnablePG();
93  void EnablePGI();
94  void EnablePGI2();
95  void EnableLPI(int a);
96  void EnableLPI2();
97  void SelLPIcol(int);
98  void enableCMS(bool enable);
99  void checkInfo();
100 
101 protected slots:
102  void createPageNumberRange();
103  void handleCompressionMethod(int ind);
104 
105 protected:
106  // PDFExportDialog should really privately inherit from us, but it can't
107  // since it needs to be a dialog not a tab widget. Allow it access to
108  // protected and private members instead. If we ever clean up the direct
109  // widget access in this class, it might be able to privately inheirit and
110  // be added to a very thin dialog class instead.
111  friend class PDFExportDialog;
112  QList<PDFPresentationData> EffVal;
113  QString SelLPIcolor;
114 
115  QListWidgetItem* addFontItem(QString fontName, QListWidget* fontList);
116 
117 private:
118  // Non-GUI protected members
119  double unitRatio;
120  ScribusDoc* const m_Doc;
121  const SCFonts & AllFonts;
122  PDFOptions & Opts;
123  bool cms;
124 
125  QStringList m_docFonts;
126  QMap<QString, QString> m_annotationFonts;
127 
128 };
129 #endif
the Document Class
Definition: scribusdoc.h:90
ScrSpinBox is a Qt4 replacement for our old ScrSpinBox using Qt3.
Definition: scrspinbox.h:21
PDF Options struture. Capable of verifying its self, but otherwise largely a dumb struct...
Definition: pdfoptions.h:37
PDF export dialog.
Definition: pdfexportdialog.h:40
Main class SCFonts. Subclass of QDict. This class replaces the previous SCFonts typedef...
Definition: scfonts.h:36