Subversion Repositories Scribus

Rev

Rev 6922 | Rev 7070 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4430 cbradney 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
*/
1307 fschmid 7
#ifndef TABPDF_OPTS_H
8
#define TABPDF_OPTS_H
2969 craig 9
 
1307 fschmid 10
#include <qtabwidget.h>
11
#include <qwidget.h>
12
#include <qlayout.h>
13
#include <qtooltip.h>
14
#include <qlistbox.h>
15
#include <qmap.h>
16
#include <qvaluelist.h>
17
#include <qbuttongroup.h>
18
#include <qgroupbox.h>
19
#include <qcheckbox.h>
20
#include <qcombobox.h>
21
#include <qradiobutton.h>
22
#include <qspinbox.h>
23
#include <qtabwidget.h>
24
#include <qwidget.h>
25
#include <qpushbutton.h>
26
#include <qtoolbutton.h>
27
#include <qlineedit.h>
28
#include <qlabel.h>
2969 craig 29
 
30
#include "scribusapi.h"
1307 fschmid 31
#include "bookmwin.h"
32
#include "mspinbox.h"
33
 
1972 craig 34
class PDFOptions;
4259 craig 35
class PDFExportDialog;
5880 jghali 36
class ScribusDoc;
1972 craig 37
 
2969 craig 38
class SCRIBUS_API TabPDFOptions : public QTabWidget
1307 fschmid 39
{
40
        Q_OBJECT
41
 
42
public:
4260 craig 43
        TabPDFOptions(  QWidget* parent, PDFOptions & Optionen,
44
                        const SCFonts &AllFonts,
45
                        const ProfilesL & PDFXProfiles,
5387 avox 46
                        const QMap<QString, int> & DocFonts,
4260 craig 47
                        const QValueList<PDFPresentationData> & Eff,
48
                        int unitIndex, double PageH, double PageB,
5881 jghali 49
                        ScribusDoc *mdoc = 0, bool exporting = false);
1307 fschmid 50
        ~TabPDFOptions() {};
5553 subik 51
        void restoreDefaults(PDFOptions & Optionen,
52
                                                 const SCFonts &AllFonts,
53
                                                 const ProfilesL & PDFXProfiles,
54
                                                 const QMap<QString, int> & DocFonts,
55
                                                 const QValueList<PDFPresentationData> & Eff,
56
                                                 int unitIndex, double PageH, double PageB,
5881 jghali 57
                                                 ScribusDoc *mdoc, bool exporting);
1307 fschmid 58
 
5851 subik 59
        void unitChange(QString unit, int docUnitIndex, int decimals, double invUnitConversion);
4256 craig 60
 
4253 craig 61
        // GUI member pointers
62
        // Remember to initialize these in the initializer list of the ctor when
63
        // you add new ones. Add them in the same order here and in the initalizer
64
        // list. To help out, the members are sorted alphabetically by name.
65
        QCheckBox* AddSec;
1307 fschmid 66
        QCheckBox* Article;
4253 craig 67
        MSpinBox* BleedBottom;
68
        MSpinBox* BleedLeft;
69
        MSpinBox* BleedRight;
70
        MSpinBox* BleedTop;
71
        QCheckBox* CheckBM;
72
        QCheckBox* CheckBox1;
1307 fschmid 73
        QComboBox* CMethod;
4649 fschmid 74
        QCheckBox* ClipMarg;
1307 fschmid 75
        QComboBox* ComboBind;
4253 craig 76
        QCheckBox* Compression;
77
        QRadioButton* continuousPages;
78
        QCheckBox* CopySec;
79
        QComboBox* CQuality;
80
        QRadioButton* doublePageLeft;
81
        QRadioButton* doublePageRight;
82
        QCheckBox* DSColor;
83
        QCheckBox* EmbedProfs;
84
        QCheckBox* EmbedProfs2;
85
        QCheckBox* Encry;
1307 fschmid 86
        QComboBox* ImageP;
4253 craig 87
        QComboBox* IntendI;
88
        QComboBox* IntendS;
89
        QToolButton* MirrorH;
90
        QToolButton* MirrorV;
91
        QCheckBox* ModifySec;
1307 fschmid 92
        QCheckBox* NoEmbedded;
4253 craig 93
        QComboBox* OutCombo;
94
        QListBox* Pages;
1307 fschmid 95
        QLineEdit* PassOwner;
96
        QLineEdit* PassUser;
4253 craig 97
        QComboBox* PDFVersionCombo;
98
        QComboBox* PrintProfC;
1307 fschmid 99
        QCheckBox* PrintSec;
4253 craig 100
        QSpinBox* Resolution;
101
        QComboBox* RotateDeg;
102
        QRadioButton* singlePage;
103
        QComboBox* SolidPr;
104
        QRadioButton* useBookmarks;
4197 fschmid 105
        QRadioButton* useFullScreen;
4253 craig 106
        QCheckBox* useLayers;
107
        QRadioButton* useLayers2;
108
        QCheckBox* UseLPI;
109
        QCheckBox* useSpot;
5320 fschmid 110
        QCheckBox* overprintMode;
4197 fschmid 111
        QRadioButton* useThumbnails;
4253 craig 112
        QSpinBox* ValC;
113
        // End GUI member pointers
114
 
3388 fschmid 115
signals:
116
        void noInfo();
117
        void hasInfo();
118
 
1307 fschmid 119
public slots:
6944 fschmid 120
        void doDocBleeds();
1307 fschmid 121
        void ToggleEncr();
122
        void EnablePDFX(int a);
123
        void DoDownsample();
124
        void RemoveEmbed();
125
        void PutToEmbed();
126
        void RemoveSubset();
127
        void PutToSubset();
128
        void SelAFont(QListBoxItem*);
129
        void SelEFont(QListBoxItem*);
130
        void SelSFont(QListBoxItem*);
131
        void EmbedAll();
132
        void SubsetAll();
133
        void PagePr();
134
        void SetPgEff(int nr);
135
        void SetEffOpts(int nr);
136
        void ValidDI(int nr);
137
        void PDFMirror();
138
        void Rotation(int value);
139
        void DoEffects();
140
        void EffectOnAll();
141
        void SelRange(bool e);
142
        void EnablePr(int a);
143
        void EnablePG();
144
        void EnablePGI();
145
        void EnablePGI2();
146
        void EnableLPI(int a);
147
        void EnableLPI2();
148
        void SelLPIcol(int);
149
        void enableCMS(bool enable);
3388 fschmid 150
        void checkInfo();
1307 fschmid 151
 
6657 cbradney 152
protected slots:
153
        void createPageNumberRange();
154
 
1307 fschmid 155
protected:
4259 craig 156
        // PDFExportDialog should really privately inherit from us, but it can't
157
        // since it needs to be a dialog not a tab widget. Allow it access to
158
        // protected and private members instead. If we ever clean up the direct
159
        // widget access in this class, it might be able to privately inheirit and
160
        // be added to a very thin dialog class instead.
161
        friend class PDFExportDialog;
162
        int PgSel;
163
        QValueList<PDFPresentationData> EffVal;
164
        QString SelLPIcolor;
165
        QValueList<QString> FontsToEmbed;
166
        QValueList<QString> FontsToSubset;
4258 craig 167
 
4259 craig 168
        // PDFExportDialog needs access to these GUI members
169
        // but they don't need to be exposed to the rest of Scribus.
170
        QComboBox* actionCombo;
171
        QRadioButton* AllPages;
172
        QCheckBox* CheckBox10;
173
        QComboBox* EDirection;
174
        QComboBox* EDirection_2;
175
        QComboBox* EDirection_2_2;
176
        QSpinBox* EffectTime;
177
        QComboBox* EffectType;
178
        QCheckBox* fitWindow;
179
        QCheckBox* hideMenuBar;
180
        QCheckBox* hideToolBar;
181
        QLineEdit* InfoString;
182
        QSpinBox* LPIangle;
183
        QSpinBox* LPIfreq;
184
        QComboBox* LPIfunc;
185
        QLineEdit* PageNr;
186
        QSpinBox* PageTime;
187
 
188
private:
189
        // Private GUI member pointers, should not be used outside the class its
190
        // self.  Please ry to keep members here genuinely private, ie don't use
191
        // them even from friends. If you need to access it from a friend like
192
        // PDFExportDialog please move it to the protected section.
193
 
4255 craig 194
        QLabel* actionLabel;
195
        QListBox* AvailFlist;
196
        QGroupBox* BleedGroup;
197
        QGridLayout* BleedGroupLayout;
6921 fschmid 198
        QGroupBox* MarkGroup;
199
        QGridLayout* MarkGroupLayout;
200
        QCheckBox* cropMarks;
201
        QCheckBox* bleedMarks;
202
        QCheckBox* registrationMarks;
203
        QCheckBox* colorMarks;
204
        QCheckBox* docInfoMarks;
205
        MSpinBox* markOffset;
4255 craig 206
        QGroupBox* CBox;
1307 fschmid 207
        QGridLayout* CBoxLayout;
4255 craig 208
        QGroupBox* ColorGroup;
209
        QHBoxLayout* ColorGroupLayout;
210
        QLabel* ColorText1;
211
        QGroupBox* Effects;
212
        QGridLayout* EffectsLayout;
213
        QCheckBox* EmbedFonts;
214
        QListBox* EmbedList;
215
        QPushButton* EonAllPg;
216
        QPushButton* FromEmbed;
217
        QPushButton* FromSubset;
218
        QGroupBox* GroupBox1;
219
        QGridLayout* GroupBox1Layout;
220
        QGridLayout* GroupBox2Layout;
221
        QGroupBox* GroupBox9;
222
        QGridLayout* GroupBox9Layout;
223
        QGroupBox* groupDisplay;
224
        QVBoxLayout* groupDisplayLayout;
225
        QGroupBox* GroupFont;
226
        QHBoxLayout* GroupFontLayout;
227
        QGroupBox* groupJava;
228
        QHBoxLayout* groupJavaLayout;
229
        QButtonGroup* groupNavigation;
230
        QVBoxLayout* groupNavigationLayout;
231
        QGroupBox* GroupPass;
232
        QGridLayout* GroupPassLayout;
233
        QGroupBox* GroupSecSet;
234
        QVBoxLayout* GroupSecSetLayout;
235
        QGridLayout* Layout11;
6657 cbradney 236
        QHBoxLayout *pageNumberSelectorLayout;
4255 craig 237
        QGridLayout* Layout11a;
238
        QHBoxLayout* Layout13;
239
        QHBoxLayout* Layout2;
1307 fschmid 240
        QVBoxLayout* Layout3;
241
        QVBoxLayout* Layout4_2;
242
        QVBoxLayout* Layout5_2;
243
        QHBoxLayout* Layout5_2a;
244
        QVBoxLayout* Layout6;
4255 craig 245
        QHBoxLayout* LayoutSpecial;
246
        QComboBox* LPIcolor;
247
        QGroupBox* LPIgroup;
248
        QGridLayout* LPIgroupLayout;
249
        QRadioButton* OnlySome;
250
        QButtonGroup* pageLayout;
251
        QVBoxLayout* pageLayoutLayout;
252
        QCheckBox* PagePrev;
253
        QLabel* PDFX1;
254
        QLabel* PDFX2;
255
        QCheckBox* PrintSec2;
256
        QGroupBox* ProfsGroup;
257
        QGridLayout* ProfsGroupLayout;
258
        QLabel* ProfsTxt1;
259
        QLabel* ProfsTxt2;
260
        QLabel* ProfsTxt3;
261
        QLabel* ProfsTxt4;
6921 fschmid 262
        QLabel* BleedTxt1;
263
        QLabel* BleedTxt2;
264
        QLabel* BleedTxt3;
265
        QLabel* BleedTxt4;
266
        QLabel* MarkTxt1;
6944 fschmid 267
        QCheckBox *docBleeds;
4255 craig 268
        QButtonGroup* RangeGroup;
269
        QVBoxLayout* RangeGroupLayout;
270
        QCheckBox* SubsetFonts;
271
        QListBox* SubsetList;
272
        QWidget* tabColor;
273
        QVBoxLayout* tabColorLayout;
274
        QWidget* tabFonts;
275
        QWidget* tabGeneral;
276
        QVBoxLayout* tabLayout;
277
        QVBoxLayout* tabLayout_3;
1307 fschmid 278
        QGridLayout* tabLayout_5;
279
        QGridLayout* tabOptionsGridLayout;
4255 craig 280
        QWidget* tabPDFX;
1307 fschmid 281
        QVBoxLayout* tabPDFXLayout;
4255 craig 282
        QWidget* tabPresentation;
283
        QWidget* tabSecurity;
1307 fschmid 284
        QVBoxLayout* tabSecurityLayout;
4255 craig 285
        QWidget* tabSpecial;
4197 fschmid 286
        QVBoxLayout* tabSpecialLayout;
4255 craig 287
        QLabel* TextCom1;
288
        QLabel* TextCom2;
289
        QLabel* TextFont1;
290
        QLabel* TextFont1_2;
291
        QLabel* TextFont1_2a;
292
        QLabel* TextLabel1;
293
        QLabel* TextLabel1e;
294
        QLabel* TextLabel1x;
295
        QLabel* TextLabel2;
296
        QLabel* TextLabel2e;
297
        QLabel* TextLabel3;
298
        QLabel* TextLabel3e;
299
        QLabel* TextLabel4e;
300
        QLabel* TextLabel5e;
301
        QLabel* TextLabel6e;
302
        QLabel* textLPI1;
303
        QLabel* textLPI2;
304
        QLabel* textLPI3;
305
        QLabel* TextSec1;
306
        QLabel* TextSec2;
6657 cbradney 307
        QPushButton* pageNrButton;
4255 craig 308
        QPushButton* ToEmbed;
309
        QPushButton* ToSubset;
310
        QRadioButton* useViewDefault;
311
        QGroupBox* X3Group;
312
        QGridLayout* X3GroupLayout;
313
        // end protected GUI member pointers
4197 fschmid 314
 
4259 craig 315
        // Non-GUI protected members
316
        QString unit;
317
        int precision;
318
        double unitRatio;
5880 jghali 319
        bool pdfExport;
320
        ScribusDoc* const doc;
4260 craig 321
        const SCFonts & AllFonts;
322
        PDFOptions & Opts;
4259 craig 323
        double pageH;
324
        double pageB;
325
        bool cms;
326
 
1307 fschmid 327
};
328
#endif