Subversion Repositories Scribus

Rev

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

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