Subversion Repositories Scribus

Rev

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