Subversion Repositories Scribus

Rev

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

Rev Author Line No. Line
1307 fschmid 1
/***************************************************************************
2
 *                                                                         *
3
 *   This program is free software; you can redistribute it and/or modify  *
4
 *   it under the terms of the GNU General Public License as published by  *
5
 *   the Free Software Foundation; either version 2 of the License, or     *
6
 *   (at your option) any later version.                                   *
7
 *                                                                         *
8
 ***************************************************************************/
9
#include "tabpdfoptions.h"
10
#include "tabpdfoptions.moc"
11
 
12
#include <qpainter.h>
13
#include "units.h"
1972 craig 14
#include "pdfoptions.h"
2834 cbradney 15
#include "prefsmanager.h"
2688 craig 16
#include "scconfig.h"
1307 fschmid 17
 
18
extern QPixmap loadIcon(QString nam);
19
#ifdef HAVE_CMS
20
extern bool CMSuse;
21
#endif
22
extern bool CMSavail;
23
#include "scribus.h"
24
 
25
 
2834 cbradney 26
 
3205 craig 27
 
1792 cbradney 28
TabPDFOptions::TabPDFOptions(   QWidget* parent, PDFOptions *Optionen, SCFonts &AllFonts,
4197 fschmid 29
                                ProfilesL *PDFXProfiles, QMap<QString,int> DocFonts,
30
                                QValueList<PDFPresentationData> Eff, int unitIndex,
31
                                double PageH, double PageB, ScribusView *vie ) : QTabWidget( parent, "pdf" )
1307 fschmid 32
{
1792 cbradney 33
 
34
        unit = unitGetSuffixFromIndex(unitIndex);
35
        precision = unitGetPrecisionFromIndex(unitIndex);
36
        unitRatio = unitGetRatioFromIndex(unitIndex);
3849 subik 37
 
1307 fschmid 38
        FontsToEmbed.clear();
3633 fschmid 39
        AllFontsP = &AllFonts;
1307 fschmid 40
        view = vie;
41
        EffVal = Eff;
42
        Opts = Optionen;
43
        pageH = PageH;
44
        pageB = PageB;
45
        tabGeneral = new QWidget( this, "tabGeneral" );
46
        tabLayout = new QVBoxLayout( tabGeneral );
47
        tabLayout->setSpacing( 5 );
1878 cbradney 48
        tabLayout->setMargin( 0 );
1307 fschmid 49
        Layout13 = new QHBoxLayout( 0, 0, 5, "Layout13");
50
        RangeGroup = new QButtonGroup( tabGeneral, "RangeGroup" );
51
        RangeGroup->setTitle( tr( "Export Range" ) );
52
        RangeGroup->setColumnLayout(0, Qt::Vertical );
53
        RangeGroup->layout()->setSpacing( 5 );
54
        RangeGroup->layout()->setMargin( 10 );
55
        RangeGroupLayout = new QVBoxLayout( RangeGroup->layout() );
56
        RangeGroupLayout->setAlignment( Qt::AlignTop );
57
        AllPages = new QRadioButton( tr( "&All Pages" ), RangeGroup, "AllPages" );
58
        AllPages->setChecked( true );
59
        RangeGroupLayout->addWidget( AllPages );
60
        Layout11 = new QGridLayout( 0, 1, 1, 0, 5, "Layout11");
61
        OnlySome = new QRadioButton( tr( "C&hoose Pages" ), RangeGroup, "OnlySome" );
62
        Layout11->addWidget( OnlySome, 0, 0 );
63
        PageNr = new QLineEdit( RangeGroup, "PageNr" );
64
        PageNr->setEnabled(false);
65
        Layout11->addWidget( PageNr, 1, 0 );
66
        RangeGroupLayout->addLayout( Layout11 );
67
        TextLabel3 = new QLabel( tr( "&Rotation:" ), RangeGroup, "TextLabel3" );
68
        RangeGroupLayout->addWidget( TextLabel3 );
69
        RotateDeg = new QComboBox( true, RangeGroup, "RotateDeg" );
70
        RotateDeg->insertItem(QString::fromUtf8("0 °"));
71
        RotateDeg->insertItem(QString::fromUtf8("90 °"));
72
        RotateDeg->insertItem(QString::fromUtf8("180 °"));
73
        RotateDeg->insertItem(QString::fromUtf8("270 °"));
74
        RotateDeg->setEditable(false);
75
        TextLabel3->setBuddy(RotateDeg);
76
        RotateDeg->setCurrentItem(Optionen->RotateDeg / 90);
77
        RangeGroupLayout->addWidget( RotateDeg );
78
        Layout11a = new QGridLayout( 0, 1, 1, 0, 5, "Layout11a");
79
        MirrorH = new QToolButton( RangeGroup, "MirrorH" );
80
        MirrorH->setPixmap(loadIcon("FlipH.xpm"));
81
        MirrorH->setToggleButton( true );
82
        MirrorH->setOn(Optionen->MirrorH);
83
        Layout11a->addWidget( MirrorH, 0, 0 );
84
        MirrorV = new QToolButton( RangeGroup, "MirrorH" );
85
        MirrorV->setPixmap(loadIcon("FlipV.xpm"));
86
        MirrorV->setToggleButton( true );
87
        MirrorV->setOn(Optionen->MirrorV);
88
        Layout11a->addWidget( MirrorV, 0, 1 );
89
        RangeGroupLayout->addLayout( Layout11a );
90
        Layout13->addWidget( RangeGroup );
91
 
92
        GroupBox1 = new QGroupBox( tr( "File Options" ), tabGeneral, "GroupBox1" );
93
        GroupBox1->setColumnLayout(0, Qt::Vertical );
94
        GroupBox1->layout()->setSpacing( 0 );
95
        GroupBox1->layout()->setMargin( 0 );
96
        GroupBox1Layout = new QGridLayout( GroupBox1->layout() );
97
        GroupBox1Layout->setAlignment( Qt::AlignTop );
98
        GroupBox1Layout->setSpacing( 5 );
99
        GroupBox1Layout->setMargin( 10 );
100
        TextLabel1 = new QLabel( tr( "Compatibilit&y:" ), GroupBox1, "TextLabel1" );
101
        TextLabel1->setAlignment( static_cast<int>( QLabel::AlignVCenter | QLabel::AlignLeft ) );
102
        GroupBox1Layout->addWidget( TextLabel1, 0, 0 );
1973 craig 103
        PDFVersionCombo = new QComboBox( true, GroupBox1, "PDFVersionCombo" );
104
        PDFVersionCombo->setEditable(false);
105
        TextLabel1->setBuddy(PDFVersionCombo);
2578 craig 106
        PDFVersionCombo->insertItem("PDF 1.3");
107
        PDFVersionCombo->insertItem("PDF 1.4");
108
        PDFVersionCombo->insertItem("PDF 1.5");
1307 fschmid 109
#ifdef HAVE_CMS
110
        if ((CMSuse) && (CMSavail) && (!PDFXProfiles->isEmpty()))
1973 craig 111
                PDFVersionCombo->insertItem("PDF/X-3");
1307 fschmid 112
        if ((CMSuse) && (CMSavail))
113
        {
1973 craig 114
                if (Optionen->Version == PDFOptions::PDFVersion_X3)
115
                        PDFVersionCombo->setCurrentItem(3);
1307 fschmid 116
        }
117
        else
1973 craig 118
                PDFVersionCombo->setCurrentItem(0);
1365 cbradney 119
        cms = CMSuse && CMSavail;
120
#else
121
        cms = false;
1307 fschmid 122
#endif
1973 craig 123
        if (Optionen->Version == PDFOptions::PDFVersion_13)
124
                PDFVersionCombo->setCurrentItem(0);
125
        if (Optionen->Version == PDFOptions::PDFVersion_14)
126
                PDFVersionCombo->setCurrentItem(1);
127
        if (Optionen->Version == PDFOptions::PDFVersion_15)
128
                PDFVersionCombo->setCurrentItem(2);
2439 cbradney 129
        GroupBox1Layout->addMultiCellWidget( PDFVersionCombo, 0, 0, 1, 2 );
1307 fschmid 130
        TextLabel1x = new QLabel( tr( "&Binding:" ), GroupBox1, "TextLabel1" );
131
        TextLabel1x->setAlignment( static_cast<int>( QLabel::AlignVCenter | QLabel::AlignLeft ) );
132
        GroupBox1Layout->addWidget( TextLabel1x, 1, 0 );
133
        ComboBind = new QComboBox( true, GroupBox1, "ComboBind" );
134
        ComboBind->insertItem( tr("Left Margin"));
135
        ComboBind->insertItem( tr("Right Margin"));
136
        ComboBind->setEditable(false);
137
        ComboBind->setCurrentItem(Optionen->Binding);
138
        TextLabel1x->setBuddy(ComboBind);
2439 cbradney 139
        GroupBox1Layout->addMultiCellWidget( ComboBind, 1, 1, 1, 2 );
1307 fschmid 140
        CheckBox1 = new QCheckBox( tr( "Generate &Thumbnails" ), GroupBox1, "CheckBox1" );
141
        CheckBox1->setChecked(Optionen->Thumbnails);
142
        GroupBox1Layout->addMultiCellWidget( CheckBox1, 2, 2, 0, 2 );
143
        Article = new QCheckBox( tr( "Save &Linked Text Frames as PDF Articles" ), GroupBox1, "CheckBox1" );
144
        Article->setChecked(Optionen->Articles);
145
        GroupBox1Layout->addMultiCellWidget( Article, 3, 3, 0, 2 );
146
        CheckBM = new QCheckBox( tr( "&Include Bookmarks" ), GroupBox1, "E" );
147
        CheckBM->setChecked(Optionen->Bookmarks);
148
        GroupBox1Layout->addMultiCellWidget( CheckBM, 4, 4, 0, 2 );
4014 cbradney 149
        useLayers = new QCheckBox( tr( "Include La&yers" ), GroupBox1, "LI" );
1738 fschmid 150
        useLayers->setChecked(Optionen->useLayers);
151
        GroupBox1Layout->addMultiCellWidget( useLayers, 5, 5, 0, 2 );
152
        if (Optionen->Version == 15)
153
                useLayers->setEnabled(true);
154
        else
155
                useLayers->setEnabled(false);
1307 fschmid 156
        Resolution = new QSpinBox( GroupBox1, "Resolution" );
157
        Resolution->setMaxValue( 4000 );
158
        Resolution->setMinValue( 35 );
159
        Resolution->setValue(Optionen->Resolution);
160
        Resolution->setSuffix( tr( " dpi" ) );
1799 cbradney 161
        TextLabel2 = new QLabel( Resolution, tr( "&Resolution for EPS Graphics:" ), GroupBox1, "TextLabel2" );
1307 fschmid 162
        TextLabel2->setAlignment( static_cast<int>( QLabel::AlignVCenter | QLabel::AlignLeft ) );
1738 fschmid 163
        GroupBox1Layout->addWidget( TextLabel2, 6, 0 );
164
        GroupBox1Layout->addWidget( Resolution, 6, 1, AlignLeft );
1307 fschmid 165
        Layout13->addWidget( GroupBox1 );
166
        tabLayout->addLayout( Layout13 );
167
        Compression = new QCheckBox( tr( "Com&press Text and Vector Graphics" ), tabGeneral, "Compression" );
168
        Compression->setChecked( Optionen->Compress );
169
        tabLayout->addWidget( Compression );
170
        CBox = new QGroupBox( tr( "Image Settings" ), tabGeneral, "CBox" );
171
        CBox->setColumnLayout(0, Qt::Vertical );
172
        CBox->layout()->setSpacing( 5 );
173
        CBox->layout()->setMargin( 11 );
174
        CBoxLayout = new QGridLayout( CBox->layout() );
175
        CBoxLayout->setAlignment( Qt::AlignTop );
176
        CMethod = new QComboBox( true, CBox, "CMethod" );
177
        CMethod->clear();
178
        CMethod->insertItem( tr( "Automatic" ) );
179
        CMethod->insertItem( tr( "JPEG" ) );
180
        CMethod->insertItem( tr( "Zip" ) );
181
        CMethod->insertItem( tr( "None" ) );
182
        CMethod->setEditable(false);
183
        CMethod->setCurrentItem(Optionen->CompressMethod);
4014 cbradney 184
        TextCom1 = new QLabel( CMethod, tr( "Compression Metho&d:" ), CBox, "TextCom1" );
3849 subik 185
        CBoxLayout->addWidget( TextCom1, 0, 0 );
3798 cbradney 186
        CBoxLayout->addWidget( CMethod, 0, 1 );
1307 fschmid 187
        CQuality = new QComboBox( true, CBox, "CQuality" );
188
        CQuality->clear();
189
        CQuality->insertItem( tr( "Maximum" ) );
190
        CQuality->insertItem( tr( "High" ) );
191
        CQuality->insertItem( tr( "Medium" ) );
192
        CQuality->insertItem( tr( "Low" ) );
193
        CQuality->insertItem( tr( "Minimum" ) );
194
        CQuality->setEditable(false);
195
        CQuality->setCurrentItem(Optionen->Quality);
3798 cbradney 196
        TextCom2 = new QLabel( CQuality, tr( "Compression &Quality:" ), CBox, "TextCom2" );
197
        CBoxLayout->addWidget( TextCom2, 1, 0 );
1307 fschmid 198
        CBoxLayout->addWidget( CQuality, 1, 1 );
4014 cbradney 199
        DSColor = new QCheckBox( tr( "Resa&mple Images to:" ), CBox, "DSColor" );
1307 fschmid 200
        DSColor->setChecked(Optionen->RecalcPic);
201
        CBoxLayout->addWidget( DSColor, 2, 0 );
202
        ValC = new QSpinBox( CBox, "ValC" );
203
        ValC->setSuffix( tr( " dpi" ) );
204
        ValC->setMaxValue( 4000 );
205
        ValC->setMinValue( 35 );
206
        ValC->setValue(Optionen->PicRes);
207
        ValC->setEnabled(DSColor->isChecked() ? true : false);
208
        CBoxLayout->addWidget( ValC, 2, 1, AlignLeft );
209
        tabLayout->addWidget( CBox );
210
        insertTab( tabGeneral, tr( "&General" ) );
211
        if (vie != 0)
212
        {
213
                tabFonts = new QWidget( this, "tabFonts" );
214
                tabLayout_3 = new QVBoxLayout( tabFonts );
215
                tabLayout_3->setSpacing( 5 );
216
                tabLayout_3->setMargin( 11 );
217
                EmbedFonts = new QCheckBox( tr( "&Embed all Fonts" ), tabFonts, "EmbedFonts" );
218
                tabLayout_3->addWidget( EmbedFonts );
219
                SubsetFonts = new QCheckBox( tr( "&Subset all Fonts" ), tabFonts, "SubsetFonts" );
220
                tabLayout_3->addWidget( SubsetFonts );
221
                GroupFont = new QGroupBox( tr( "Embedding" ), tabFonts, "GroupFont" );
222
                GroupFont->setColumnLayout(0, Qt::Vertical );
223
                GroupFont->layout()->setSpacing( 0 );
224
                GroupFont->layout()->setMargin( 0 );
225
                GroupFontLayout = new QHBoxLayout( GroupFont->layout() );
226
                GroupFontLayout->setAlignment( Qt::AlignTop );
227
                GroupFontLayout->setSpacing( 5 );
228
                GroupFontLayout->setMargin( 10 );
229
                Layout4_2 = new QVBoxLayout;
230
                Layout4_2->setSpacing( 5 );
231
                Layout4_2->setMargin( 0 );
232
                TextFont1 = new QLabel( tr( "Available Fonts:" ), GroupFont, "TextFont1" );
233
                Layout4_2->addWidget( TextFont1 );
234
                AvailFlist = new QListBox( GroupFont, "AvailFlist" );
3544 avox 235
                QMap<QString,int>::Iterator it;
1307 fschmid 236
                for (it = DocFonts.begin(); it != DocFonts.end(); ++it)
237
                {
2295 cbradney 238
                        if (AllFonts[it.key()]->typeCode == Foi::TYPE1)
1338 fschmid 239
                                AvailFlist->insertItem(loadIcon("font_type1_16.png"), it.key());
2295 cbradney 240
                        else if (AllFonts[it.key()]->typeCode == Foi::TTF)
1338 fschmid 241
                                AvailFlist->insertItem(loadIcon("font_truetype16.png"), it.key());
2295 cbradney 242
                        else if (AllFonts[it.key()]->typeCode == Foi::OTF)
1338 fschmid 243
                                AvailFlist->insertItem(loadIcon("font_otf16.png"), it.key());
1307 fschmid 244
                }
245
                AvailFlist->setMinimumSize(QSize(150, 140));
246
                Layout4_2->addWidget( AvailFlist );
247
                GroupFontLayout->addLayout( Layout4_2 );
248
                Layout5_2 = new QVBoxLayout;
249
                Layout5_2->setSpacing( 5 );
250
                Layout5_2->setMargin( 0 );
1321 fschmid 251
                QSpacerItem* spacerS3a = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Minimum );
252
                Layout5_2->addItem( spacerS3a );
1307 fschmid 253
                ToEmbed = new QPushButton( tr( "&>>" ), GroupFont, "ToEmbed" );
254
                ToEmbed->setEnabled(false);
255
                Layout5_2->addWidget( ToEmbed );
256
                FromEmbed = new QPushButton( tr( "&<<" ), GroupFont, "FromEmbed" );
257
                FromEmbed->setEnabled(false);
258
                Layout5_2->addWidget( FromEmbed );
1321 fschmid 259
                QSpacerItem* spacerS3 = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Expanding );
260
                Layout5_2->addItem( spacerS3 );
1307 fschmid 261
                GroupFontLayout->addLayout( Layout5_2 );
262
                Layout6 = new QVBoxLayout;
263
                Layout6->setSpacing( 5 );
264
                Layout6->setMargin( 0 );
265
                TextFont1_2 = new QLabel( tr( "Fonts to embed:" ), GroupFont, "TextFont1_2" );
266
                Layout6->addWidget( TextFont1_2 );
267
                EmbedList = new QListBox( GroupFont, "EmbedList" );
268
                EmbedList->setMinimumSize(QSize(150, 40));
269
                Layout6->addWidget( EmbedList );
3849 subik 270
 
1307 fschmid 271
                Layout5_2a = new QHBoxLayout;
272
                Layout5_2a->setSpacing( 5 );
273
                Layout5_2a->setMargin( 0 );
274
                QSpacerItem* spacerS1 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
275
                Layout5_2a->addItem( spacerS1 );
276
                ToSubset = new QPushButton( "", GroupFont, "ToSubset" );
277
                ToSubset->setPixmap(loadIcon("down.png"));
278
                ToSubset->setEnabled(false);
279
                Layout5_2a->addWidget( ToSubset );
280
                FromSubset = new QPushButton( "", GroupFont, "FromSubset" );
281
                FromSubset->setPixmap(loadIcon("up.png"));
282
                FromSubset->setEnabled(false);
283
                Layout5_2a->addWidget( FromSubset );
284
                QSpacerItem* spacerS2 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
285
                Layout5_2a->addItem( spacerS2 );
286
                Layout6->addLayout( Layout5_2a );
287
                TextFont1_2a = new QLabel( tr( "Fonts to subset:" ), GroupFont, "TextFont1_2a" );
288
                Layout6->addWidget( TextFont1_2a );
289
                SubsetList = new QListBox( GroupFont, "SubsetList" );
290
                SubsetList->setMinimumSize(QSize(150, 40));
291
                Layout6->addWidget( SubsetList );
292
                if ((Optionen->EmbedList.count() == 0) && (Optionen->SubsetList.count() == 0))
293
                {
294
                        EmbedFonts->setChecked(true);
295
                        EmbedAll();
296
                }
297
                else
298
                {
299
                        for (uint fe = 0; fe < Optionen->EmbedList.count(); ++fe)
300
                        {
301
                                EmbedList->insertItem(Optionen->EmbedList[fe]);
302
                                FontsToEmbed.append(Optionen->EmbedList[fe]);
303
                        }
304
                }
305
                if (Optionen->SubsetList.count() != 0)
306
                {
307
                        for (uint fe = 0; fe < Optionen->SubsetList.count(); ++fe)
308
                        {
309
                                SubsetList->insertItem(Optionen->SubsetList[fe]);
310
                                FontsToSubset.append(Optionen->SubsetList[fe]);
311
                        }
312
                }
313
                GroupFontLayout->addLayout( Layout6 );
314
                tabLayout_3->addWidget( GroupFont );
315
                insertTab( tabFonts, tr( "&Fonts" ) );
316
                tabPresentation = new QWidget( this, "tabPresentation" );
317
                tabLayout_5 = new QGridLayout( tabPresentation );
318
                tabLayout_5->setSpacing( 5 );
319
                tabLayout_5->setMargin( 11 );
320
                CheckBox10 = new QCheckBox( tr( "Enable &Presentation Effects" ), tabPresentation, "CheckBox10" );
321
                CheckBox10->setChecked(Optionen->PresentMode);
322
                tabLayout_5->addMultiCellWidget( CheckBox10, 0, 0, 0, 1 );
323
                Pages = new QListBox( tabPresentation, "Pages" );
324
                Pages->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)1, Pages->sizePolicy().hasHeightForWidth() ) );
325
                QString tmp;
326
                struct PDFPresentationData ef;
327
                if (EffVal.count() != 0)
328
                {
3724 cbradney 329
                        for (uint pg2 = 0; pg2 < view->Doc->Pages->count(); ++pg2)
1307 fschmid 330
                        {
331
                                Pages->insertItem( tr("Page")+" "+tmp.setNum(pg2+1));
332
                                if (EffVal.count()-1 < pg2)
333
                                {
334
                                        ef.pageEffectDuration = 1;
335
                                        ef.pageViewDuration = 1;
336
                                        ef.effectType = 0;
337
                                        ef.Dm = 0;
338
                                        ef.M = 0;
339
                                        ef.Di = 0;
340
                                        EffVal.append(ef);
341
                                }
342
                        }
343
                }
344
                else
345
                {
3724 cbradney 346
                        for (uint pg = 0; pg < view->Doc->Pages->count(); ++pg)
1307 fschmid 347
                        {
348
                                Pages->insertItem( tr("Page")+" "+tmp.setNum(pg+1));
349
                                ef.pageEffectDuration = 1;
350
                                ef.pageViewDuration = 1;
351
                                ef.effectType = 0;
352
                                ef.Dm = 0;
353
                                ef.M = 0;
354
                                ef.Di = 0;
355
                                EffVal.append(ef);
356
                        }
357
                }
358
                tabLayout_5->addWidget( Pages, 1, 0 );
359
                PagePrev = new QCheckBox( tr( "Show Page Pre&views" ), tabPresentation, "CheckBox10" );
360
                PagePrev->setChecked(false);
361
                tabLayout_5->addWidget( PagePrev, 2, 0 );
362
                Effects = new QGroupBox( tr( "Effects" ), tabPresentation, "Effects" );
363
                Effects->setColumnLayout(0, Qt::Vertical );
364
                Effects->layout()->setSpacing( 0 );
365
                Effects->layout()->setMargin( 0 );
366
                EffectsLayout = new QGridLayout( Effects->layout() );
367
                EffectsLayout->setAlignment( Qt::AlignTop );
368
                EffectsLayout->setSpacing( 5 );
369
                EffectsLayout->setMargin( 11 );
370
                TextLabel1e = new QLabel( tr( "&Display Duration:" ), Effects, "TextLabel1_2" );
371
                EffectsLayout->addWidget( TextLabel1e, 0, 0 );
372
                TextLabel2e = new QLabel( tr( "Effec&t Duration:" ), Effects, "TextLabel2_2" );
373
                EffectsLayout->addWidget( TextLabel2e, 1, 0 );
374
                TextLabel3e = new QLabel( tr( "Effect T&ype:" ), Effects, "TextLabel3_2" );
375
                EffectsLayout->addWidget( TextLabel3e, 2, 0 );
376
                TextLabel4e = new QLabel( tr( "&Moving Lines:" ), Effects, "TextLabel4_2" );
377
                EffectsLayout->addWidget( TextLabel4e, 3, 0 );
378
                TextLabel5e = new QLabel( tr( "F&rom the:" ), Effects, "TextLabel6" );
379
                EffectsLayout->addWidget( TextLabel5e, 4, 0 );
380
                TextLabel6e = new QLabel( tr( "D&irection:" ), Effects, "TextLabel5" );
381
                EffectsLayout->addWidget( TextLabel6e, 5, 0 );
382
                PageTime = new QSpinBox( Effects, "PageTime" );
383
                PageTime->setSuffix( tr( " sec" ) );
384
                PageTime->setMaxValue( 3600 );
385
                PageTime->setMinValue( 1 );
386
                PageTime->setValue(EffVal[0].pageViewDuration);
387
                TextLabel1e->setBuddy(PageTime);
388
                EffectsLayout->addWidget( PageTime, 0, 1 );
389
                EffectTime = new QSpinBox( Effects, "EffectTime" );
390
                EffectTime->setSuffix( tr( " sec" ) );
391
                EffectTime->setMaxValue( 3600 );
392
                EffectTime->setMinValue( 1 );
393
                EffectTime->setValue(EffVal[0].pageEffectDuration);
394
                TextLabel2e->setBuddy(EffectTime);
395
                EffectsLayout->addWidget( EffectTime, 1, 1 );
396
                EffectType = new QComboBox( true, Effects, "EffectType" );
397
                QString tmpc[] = { tr("No Effect"), tr("Blinds"), tr("Box"), tr("Dissolve"), tr("Glitter"), tr("Split"), tr("Wipe")};
398
                size_t ar = sizeof(tmpc) / sizeof(*tmpc);
399
                for (uint a = 0; a < ar; ++a)
400
                        EffectType->insertItem(tmpc[a]);
401
                EffectType->setEditable(false);
402
                TextLabel3e->setBuddy(EffectType);
403
                EffectsLayout->addWidget( EffectType, 2, 1 );
404
                EDirection = new QComboBox( true, Effects, "EDirection" );
405
                EDirection->insertItem( tr( "Horizontal" ) );
406
                EDirection->insertItem( tr( "Vertical" ) );
407
                EDirection->setEditable(false);
408
                TextLabel4e->setBuddy(EDirection);
409
                EffectsLayout->addWidget( EDirection, 3, 1 );
410
                EDirection_2 = new QComboBox( true, Effects, "EDirection_2" );
411
                EDirection_2->insertItem( tr( "Inside" ) );
412
                EDirection_2->insertItem( tr( "Outside" ) );
413
                EDirection_2->setEditable(false);
414
                TextLabel5e->setBuddy(EDirection_2);
415
                EffectsLayout->addWidget( EDirection_2, 4, 1 );
416
                EDirection_2_2 = new QComboBox( true, Effects, "EDirection_2_2" );
417
                QString tmp_ed[] = { tr("Left to Right"), tr("Top to Bottom"), tr("Bottom to Top"), tr("Right to Left"),
4197 fschmid 418
                                     tr("Top-left to Bottom-Right")};
1307 fschmid 419
                size_t ar_ed = sizeof(tmp_ed) / sizeof(*tmp_ed);
420
                for (uint a = 0; a < ar_ed; ++a)
421
                        EDirection_2_2->insertItem(tmp_ed[a]);
422
                EDirection_2_2->setEditable(false);
423
                TextLabel6e->setBuddy(EDirection_2_2);
424
                EffectsLayout->addWidget( EDirection_2_2, 5, 1 );
425
                EonAllPg = new QPushButton( tr( "&Apply Effect on all Pages" ), Effects, "Eon" );
426
                EffectsLayout->addMultiCellWidget( EonAllPg, 6, 6, 0, 1 );
427
                tabLayout_5->addMultiCellWidget( Effects, 1, 2, 1, 1 );
428
                insertTab( tabPresentation, tr( "E&xtras" ) );
4197 fschmid 429
 
430
                if (view->Doc->currentPageLayout == doublePage)
431
                {
432
                        if (view->Doc->pageSets[view->Doc->currentPageLayout].FirstPage == 0)
433
                                Optionen->PageLayout = PDFOptions::TwoColumnLeft;
434
                        else
435
                                Optionen->PageLayout = PDFOptions::TwoColumnRight;
436
                }
437
                else
438
                        Optionen->PageLayout = PDFOptions::SinglePage;
439
                if (Optionen->PresentMode)
440
                        Optionen->displayFullscreen = true;
441
                else
442
                {
443
                        if ((Optionen->Version == 15) && (Optionen->useLayers))
444
                                Optionen->displayLayers = true;
445
                }
446
                tabSpecial = new QWidget( this, "tabSpecial" );
447
                tabSpecialLayout = new QVBoxLayout( tabSpecial, 11, 6, "tabSpecialLayout");
448
                groupDisplay = new QGroupBox( tabSpecial, "groupDisplay" );
449
                groupDisplay->setTitle( tr( "Display Settings" ) );
450
                groupDisplay->setColumnLayout(0, Qt::Vertical );
451
                groupDisplay->layout()->setSpacing( 5 );
452
                groupDisplay->layout()->setMargin( 10 );
453
                groupDisplayLayout = new QVBoxLayout( groupDisplay->layout() );
454
                groupDisplayLayout->setAlignment( Qt::AlignTop );
455
                LayoutSpecial = new QHBoxLayout( 0, 0, 5, "LayoutSpecial");
456
                pageLayout = new QButtonGroup( groupDisplay, "pageLayout" );
457
                pageLayout->setTitle( tr( "Page Layout" ) );
458
                pageLayout->setColumnLayout(0, Qt::Vertical );
459
                pageLayout->layout()->setSpacing( 5 );
460
                pageLayout->layout()->setMargin( 10 );
461
                pageLayoutLayout = new QVBoxLayout( pageLayout->layout() );
462
                pageLayoutLayout->setAlignment( Qt::AlignTop );
463
                singlePage = new QRadioButton( pageLayout, "singlePage" );
464
                singlePage->setText( tr( "Single Page" ) );
465
                pageLayoutLayout->addWidget( singlePage );
466
                continuousPages = new QRadioButton( pageLayout, "continuousPages" );
467
                continuousPages->setText( tr( "Continuous" ) );
468
                pageLayoutLayout->addWidget( continuousPages );
469
                doublePageLeft = new QRadioButton( pageLayout, "doublePageLeft" );
470
                doublePageLeft->setText( tr( "Double Page Left" ) );
471
                pageLayoutLayout->addWidget( doublePageLeft );
472
                doublePageRight = new QRadioButton( pageLayout, "doublePageRight" );
473
                doublePageRight->setText( tr( "Double Page Right" ) );
474
                pageLayoutLayout->addWidget( doublePageRight );
475
                LayoutSpecial->addWidget( pageLayout );
476
                groupNavigation = new QButtonGroup( groupDisplay, "groupNavigation" );
477
                groupNavigation->setTitle( tr( "Visual Appearance" ) );
478
                groupNavigation->setColumnLayout(0, Qt::Vertical );
479
                groupNavigation->layout()->setSpacing( 5 );
480
                groupNavigation->layout()->setMargin( 10 );
481
                groupNavigationLayout = new QVBoxLayout( groupNavigation->layout() );
482
                groupNavigationLayout->setAlignment( Qt::AlignTop );
483
                useViewDefault = new QRadioButton( groupNavigation, "useViewDefault" );
484
                bool df = true;
485
                if ((Optionen->displayBookmarks) || (Optionen->displayFullscreen) || (Optionen->displayLayers) || (Optionen->displayThumbs))
486
                        df = false;
487
                useViewDefault->setChecked(df);
488
                useViewDefault->setText( tr( "Use Viewers Defaults" ) );
489
                groupNavigationLayout->addWidget( useViewDefault );
490
                useFullScreen = new QRadioButton( groupNavigation, "useFullScreen" );
491
                useFullScreen->setChecked(Optionen->displayFullscreen);
492
                useFullScreen->setText( tr( "Use Full Screen Mode" ) );
493
                groupNavigationLayout->addWidget( useFullScreen );
494
                useBookmarks = new QRadioButton( groupNavigation, "useBookmarks" );
495
                useBookmarks->setText( tr( "Display Bookmarks Tab" ) );
496
                useBookmarks->setChecked(Optionen->displayBookmarks);
497
                groupNavigationLayout->addWidget( useBookmarks );
498
                useThumbnails = new QRadioButton( groupNavigation, "useThumbnails" );
499
                useThumbnails->setText( tr( "Display Thumbnails" ) );
500
                useThumbnails->setChecked(Optionen->displayThumbs);
501
                groupNavigationLayout->addWidget( useThumbnails );
502
                useLayers2 = new QRadioButton( groupNavigation, "useLayers" );
503
                useLayers2->setText( tr( "Display Layers Tab" ) );
504
                useLayers2->setChecked(Optionen->displayLayers);
505
                groupNavigationLayout->addWidget( useLayers2 );
4201 fschmid 506
                hideToolBar = new QCheckBox( tr( "Hide Viewers Toolbar" ), groupNavigation, "hideToolBar" );
507
                hideToolBar->setChecked(Optionen->hideToolBar);
508
                groupNavigationLayout->addWidget( hideToolBar );
509
                hideMenuBar = new QCheckBox( tr( "Hide Viewers Menubar" ), groupNavigation, "hideMenuBar" );
510
                hideMenuBar->setChecked(Optionen->hideMenuBar);
511
                groupNavigationLayout->addWidget( hideMenuBar );
512
                fitWindow = new QCheckBox( tr( "Zoom Pages to fit Viewer Window" ), groupNavigation, "fitWindow" );
513
                fitWindow->setChecked(Optionen->fitWindow);
514
                groupNavigationLayout->addWidget( fitWindow );
4197 fschmid 515
                LayoutSpecial->addWidget( groupNavigation );
516
                groupDisplayLayout->addLayout( LayoutSpecial );
517
                tabSpecialLayout->addWidget( groupDisplay );
518
                groupJava = new QGroupBox( tabSpecial, "groupJava" );
519
                groupJava->setTitle( tr( "Special Actions" ) );
520
                groupJava->setColumnLayout(0, Qt::Vertical );
521
                groupJava->layout()->setSpacing( 5 );
522
                groupJava->layout()->setMargin( 10 );
523
                groupJavaLayout = new QHBoxLayout( groupJava->layout() );
524
                groupJavaLayout->setAlignment( Qt::AlignTop );
525
                actionLabel = new QLabel( groupJava, "actionLabel" );
526
                actionLabel->setText( tr( "Javascript to be executed\nwhen Document is opened:" ) );
527
                groupJavaLayout->addWidget( actionLabel );
528
                actionCombo = new QComboBox( true, groupJava, "actionCombo" );
529
                actionCombo->setEditable(false);
530
                actionCombo->insertItem( tr("No Script"));
531
                QMap<QString,QString>::Iterator itja;
532
                for (itja = view->Doc->JavaScripts.begin(); itja != view->Doc->JavaScripts.end(); ++itja)
533
                        actionCombo->insertItem(itja.key());
4201 fschmid 534
                if (view->Doc->JavaScripts.contains(Optionen->openAction))
535
                        actionCombo->setCurrentText(Optionen->openAction);
4197 fschmid 536
                groupJavaLayout->addWidget( actionCombo );
537
                tabSpecialLayout->addWidget( groupJava );
538
                if (Optionen->PageLayout == PDFOptions::SinglePage)
539
                        singlePage->setChecked(true);
540
                else if (Optionen->PageLayout == PDFOptions::OneColumn)
541
                        continuousPages->setChecked(true);
542
                else if (Optionen->PageLayout == PDFOptions::TwoColumnLeft)
543
                        doublePageLeft->setChecked(true);
544
                else if (Optionen->PageLayout == PDFOptions::TwoColumnRight)
545
                        doublePageRight->setChecked(true);
546
                if (Optionen->Version == 15)
547
                        useLayers2->setEnabled(true);
548
                else
549
                        useLayers2->setEnabled(false);
550
                insertTab( tabSpecial, tr("Viewer") );
1307 fschmid 551
        }
4197 fschmid 552
 
553
 
1307 fschmid 554
        tabSecurity = new QWidget( this, "tabSecurity" );
555
        tabSecurityLayout = new QVBoxLayout( tabSecurity, 11, 5, "tabSecurityLayout");
556
        Encry = new QCheckBox( tr( "&Use Encryption" ), tabSecurity, "Enc" );
557
        Encry->setChecked( Optionen->Encrypt );
558
        tabSecurityLayout->addWidget( Encry );
559
        GroupPass = new QGroupBox( tr( "Passwords" ), tabSecurity, "GroupPass" );
560
        GroupPass->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)1, 0, 0,
561
                                               GroupPass->sizePolicy().hasHeightForWidth() ) );
562
        GroupPass->setColumnLayout(0, Qt::Vertical );
563
        GroupPass->layout()->setSpacing( 5 );
564
        GroupPass->layout()->setMargin( 10 );
565
        GroupPassLayout = new QGridLayout( GroupPass->layout() );
566
        GroupPassLayout->setAlignment( Qt::AlignTop );
567
        TextSec2 = new QLabel( tr( "&User:" ), GroupPass, "TextSec2" );
568
        GroupPassLayout->addWidget( TextSec2, 1, 0 );
569
        TextSec1 = new QLabel( tr( "&Owner:" ), GroupPass, "TextSec1" );
570
        GroupPassLayout->addWidget( TextSec1, 0, 0 );
571
        PassOwner = new QLineEdit( GroupPass, "PassOwner" );
572
        PassOwner->setEchoMode( QLineEdit::Password );
573
        PassOwner->setText(Optionen->PassOwner);
574
        TextSec1->setBuddy(PassOwner);
575
        GroupPassLayout->addWidget( PassOwner, 0, 1 );
576
        PassUser = new QLineEdit( GroupPass, "PassUser" );
577
        PassUser->setEchoMode( QLineEdit::Password );
578
        PassUser->setText(Optionen->PassUser);
579
        TextSec2->setBuddy(PassUser);
580
        GroupPassLayout->addWidget( PassUser, 1, 1 );
581
        tabSecurityLayout->addWidget( GroupPass );
582
 
583
        GroupSecSet = new QGroupBox( tr( "Settings" ), tabSecurity, "GroupSecSet" );
584
        GroupSecSet->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)7, 0, 0,
585
                                    GroupSecSet->sizePolicy().hasHeightForWidth() ) );
586
        GroupSecSet->setColumnLayout(0, Qt::Vertical );
587
        GroupSecSet->layout()->setSpacing( 5 );
588
        GroupSecSet->layout()->setMargin( 10 );
589
        GroupSecSetLayout = new QVBoxLayout( GroupSecSet->layout() );
590
        GroupSecSetLayout->setAlignment( Qt::AlignTop );
591
        PrintSec = new QCheckBox( tr( "Allow &Printing the Document" ), GroupSecSet, "PrintSec" );
592
        PrintSec->setChecked( Optionen->Permissions & 4 );
593
        GroupSecSetLayout->addWidget( PrintSec );
594
        ModifySec = new QCheckBox( tr( "Allow &Changing the Document" ), GroupSecSet, "ModifySec" );
595
        ModifySec->setChecked( Optionen->Permissions & 8 );
596
        GroupSecSetLayout->addWidget( ModifySec );
597
        CopySec = new QCheckBox( tr( "Allow Cop&ying Text and Graphics" ), GroupSecSet, "CopySec" );
598
        CopySec->setChecked( Optionen->Permissions & 16 );
599
        GroupSecSetLayout->addWidget( CopySec );
600
        AddSec = new QCheckBox( tr( "Allow Adding &Annotations and Fields" ), GroupSecSet, "AddSec" );
601
        AddSec->setChecked( Optionen->Permissions & 32 );
602
        GroupSecSetLayout->addWidget( AddSec );
603
        tabSecurityLayout->addWidget( GroupSecSet );
604
        if (!Encry->isChecked())
605
        {
606
                GroupSecSet->setEnabled(false);
607
                GroupPass->setEnabled(false);
608
        }
609
        insertTab( tabSecurity, tr( "S&ecurity" ) );
610
 
611
        tabColor = new QWidget( this, "tabColor" );
612
        tabColorLayout = new QVBoxLayout( tabColor, 11, 5, "tabColorLayout");
613
        ColorGroup = new QGroupBox( tr( "General" ), tabColor, "ColorGroup" );
614
        ColorGroup->setColumnLayout(0, Qt::Vertical );
615
        ColorGroup->layout()->setSpacing( 5 );
616
        ColorGroup->layout()->setMargin( 10 );
617
        ColorGroupLayout = new QHBoxLayout( ColorGroup->layout() );
618
        ColorGroupLayout->setAlignment( Qt::AlignTop );
619
        ColorText1 = new QLabel( tr( "Output &Intended For:" ), ColorGroup, "ColorText1" );
620
        ColorGroupLayout->addWidget( ColorText1 );
621
        OutCombo = new QComboBox( true, ColorGroup, "OutCombo" );
622
        OutCombo->insertItem( tr( "Screen / Web" ) );
623
        OutCombo->insertItem( tr( "Printer" ) );
1476 fschmid 624
        OutCombo->insertItem( tr( "Grayscale" ) );
1307 fschmid 625
        OutCombo->setEditable(false);
1476 fschmid 626
        if (Optionen->UseRGB)
627
                OutCombo->setCurrentItem(0);
628
        else
629
        {
630
                if (Optionen->isGrayscale)
631
                        OutCombo->setCurrentItem(2);
632
                else
633
                        OutCombo->setCurrentItem(1);
634
        }
1307 fschmid 635
        ColorText1->setBuddy(OutCombo);
636
        ColorGroupLayout->addWidget( OutCombo );
637
        tabColorLayout->addWidget( ColorGroup );
638
 
3079 fschmid 639
        useSpot = new QCheckBox( tr( "Convert Spot Colors to Process Colors" ), tabColor, "useSpot" );
640
        useSpot->setChecked(!Optionen->UseSpotColors);
641
        tabColorLayout->addWidget( useSpot );
642
 
1307 fschmid 643
        UseLPI = new QCheckBox( tr( "&Use Custom Rendering Settings" ), tabColor, "UseLPI" );
644
        UseLPI->setChecked(Optionen->UseLPI);
645
        tabColorLayout->addWidget( UseLPI );
646
        LPIgroup = new QGroupBox( tr( "Rendering Settings" ), tabColor, "LPIgroup" );
647
        LPIgroup->setColumnLayout(0, Qt::Vertical );
648
        LPIgroup->layout()->setSpacing( 5 );
649
        LPIgroup->layout()->setMargin( 10 );
650
        LPIgroupLayout = new QGridLayout( LPIgroup->layout() );
651
        LPIgroupLayout->setAlignment( Qt::AlignTop );
652
        LPIcolor = new QComboBox( true, LPIgroup, "LPIcolor" );
653
        LPIcolor->setEditable(false);
654
        QMap<QString,LPIData>::Iterator itlp;
655
        for (itlp = Optionen->LPISettings.begin(); itlp != Optionen->LPISettings.end(); ++itlp)
656
        {
657
                LPIcolor->insertItem( itlp.key() );
658
        }
659
        LPIcolor->setCurrentItem(0);
660
        LPIgroupLayout->addWidget( LPIcolor, 0, 0 );
661
        textLPI1 = new QLabel( tr( "Fre&quency:" ), LPIgroup, "textLPI1" );
662
        LPIgroupLayout->addWidget( textLPI1, 0, 1 );
663
        LPIfreq = new QSpinBox( LPIgroup, "LPIfreq" );
664
        LPIfreq->setMinValue(10);
665
        LPIfreq->setMaxValue(1000);
666
        LPIfreq->setValue(Optionen->LPISettings[LPIcolor->currentText()].Frequency);
667
        textLPI1->setBuddy(LPIfreq);
668
        LPIgroupLayout->addWidget( LPIfreq, 0, 2 );
669
        textLPI2 = new QLabel( tr( "&Angle:" ), LPIgroup, "textLPI2" );
670
        LPIgroupLayout->addWidget( textLPI2, 1, 1 );
671
        LPIangle = new QSpinBox( LPIgroup, "LPIangle" );
672
        LPIangle->setSuffix( QString::fromUtf8(" °"));
673
        LPIangle->setMinValue(-180);
674
        LPIangle->setMaxValue(180);
675
        LPIangle->setValue(Optionen->LPISettings[LPIcolor->currentText()].Angle);
676
        textLPI2->setBuddy(LPIangle);
677
        LPIgroupLayout->addWidget( LPIangle, 1, 2 );
678
        textLPI3 = new QLabel( tr( "S&pot Function:" ), LPIgroup, "textLPI3" );
679
        LPIgroupLayout->addWidget( textLPI3, 2, 1 );
680
        LPIfunc = new QComboBox( true, LPIgroup, "LPIfunc" );
681
        LPIfunc->setEditable(false);
682
        LPIfunc->insertItem( tr( "Simple Dot" ) );
683
        LPIfunc->insertItem( tr( "Line" ) );
684
        LPIfunc->insertItem( tr( "Round" ) );
685
        LPIfunc->insertItem( tr( "Ellipse" ) );
686
        LPIfunc->setCurrentItem(Optionen->LPISettings[LPIcolor->currentText()].SpotFunc);
687
        textLPI3->setBuddy(LPIfunc);
688
        LPIgroupLayout->addWidget( LPIfunc, 2, 2 );
689
        tabColorLayout->addWidget( LPIgroup );
690
        SelLPIcolor = LPIcolor->currentText();
691
 
692
        GroupBox9 = new QGroupBox( tr( "Solid Colors:" ), tabColor, "GroupBox9" );
693
        GroupBox9->setColumnLayout(0, Qt::Vertical );
694
        GroupBox9->layout()->setSpacing( 5 );
695
        GroupBox9->layout()->setMargin( 10 );
696
        GroupBox9Layout = new QGridLayout( GroupBox9->layout() );
697
        GroupBox9Layout->setAlignment( Qt::AlignTop );
698
        EmbedProfs = new QCheckBox( GroupBox9, "EmbedProfs" );
699
        EmbedProfs->setText( tr( "Use ICC Profile" ) );
700
        EmbedProfs->setChecked(Optionen->UseProfiles);
701
        GroupBox9Layout->addMultiCellWidget( EmbedProfs, 0, 0, 0, 1 );
702
        ProfsTxt1 = new QLabel(GroupBox9, "ProfsTxt1");
703
        ProfsTxt1->setText( tr( "Profile:" ) );
704
        GroupBox9Layout->addWidget( ProfsTxt1, 1, 0 );
705
        ProfsTxt2 = new QLabel( GroupBox9, "ProfsTxt2_2" );
706
        ProfsTxt2->setText( tr( "Rendering-Intent:" ) );
707
        GroupBox9Layout->addWidget( ProfsTxt2, 1, 1 );
708
        SolidPr = new QComboBox(true, GroupBox9, "SolidPr" );
709
        SolidPr->setEditable(false);
710
        GroupBox9Layout->addWidget( SolidPr, 2, 0 );
711
        IntendS = new QComboBox( true, GroupBox9, "IntendS" );
712
        QString tmp_ip[] = { tr("Perceptual"), tr("Relative Colorimetric"), tr("Saturation"), tr("Absolute Colorimetric")};
713
        size_t ar_ip = sizeof(tmp_ip) / sizeof(*tmp_ip);
714
        for (uint a = 0; a < ar_ip; ++a)
715
                IntendS->insertItem(tmp_ip[a]);
716
        IntendS->setEditable(false);
717
        GroupBox9Layout->addWidget( IntendS, 2, 1 );
718
        tabColorLayout->addWidget( GroupBox9 );
719
        ProfsGroup = new QGroupBox( tr( "Images:" ), tabColor, "ProfsGroup" );
720
        ProfsGroup->setColumnLayout(0, Qt::Vertical );
721
        ProfsGroup->layout()->setSpacing( 5 );
722
        ProfsGroup->layout()->setMargin( 10 );
723
        ProfsGroupLayout = new QGridLayout( ProfsGroup->layout() );
724
        ProfsGroupLayout->setAlignment( Qt::AlignTop );
725
        EmbedProfs2 = new QCheckBox( tr( "Use ICC Profile" ), ProfsGroup, "EmbedProfs" );
726
        EmbedProfs2->setChecked(Optionen->UseProfiles2);
727
        ProfsGroupLayout->addMultiCellWidget( EmbedProfs2, 0, 0, 0, 1 );
728
        NoEmbedded = new QCheckBox( ProfsGroup, "NoEmbedded" );
729
        NoEmbedded->setText( tr( "Don't use embedded ICC profiles" ) );
730
        NoEmbedded->setChecked(Optionen->EmbeddedI);
731
        ProfsGroupLayout->addMultiCellWidget( NoEmbedded, 1, 1, 0, 1 );
732
        ProfsTxt3 = new QLabel( ProfsGroup, "ProfsTxt3" );
733
        ProfsTxt3->setText( tr( "Profile:" ) );
734
        ProfsGroupLayout->addWidget( ProfsTxt3, 2, 0 );
735
        ProfsTxt4 = new QLabel( ProfsGroup, "ProfsTxt2_2" );
736
        ProfsTxt4->setText( tr( "Rendering-Intent:" ) );
737
        ProfsGroupLayout->addWidget( ProfsTxt4, 2, 1 );
738
        ImageP = new QComboBox( true, ProfsGroup, "ImageP" );
739
        ImageP->setEditable(false);
740
        ProfsGroupLayout->addWidget( ImageP, 3, 0 );
741
        IntendI = new QComboBox( true, ProfsGroup, "IntendS" );
742
        for (uint a = 0; a < ar_ip; ++a)
743
                IntendI->insertItem(tmp_ip[a]);
744
        IntendI->setEditable(false);
745
        ProfsGroupLayout->addWidget( IntendI, 3, 1 );
746
        tabColorLayout->addWidget( ProfsGroup );
1476 fschmid 747
        if ((Optionen->UseRGB) || (Optionen->isGrayscale))
1307 fschmid 748
        {
749
                ProfsGroup->setEnabled(false);
750
                GroupBox9->setEnabled(false);
1476 fschmid 751
                EnablePr(0);
1307 fschmid 752
        }
1476 fschmid 753
        else
754
                EnablePr(1);
1307 fschmid 755
        EnablePG();
756
        EnablePGI();
757
#ifdef HAVE_CMS
758
 
759
        QString tp = Optionen->SolidProf;
4026 craig 760
        if (!ScMW->InputProfiles.contains(tp))
1307 fschmid 761
        {
762
                if (vie != 0)
2984 fschmid 763
                        tp = vie->Doc->CMSSettings.DefaultSolidColorProfile;
1307 fschmid 764
                else
2984 fschmid 765
                        tp = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorProfile;
1307 fschmid 766
        }
767
        ProfilesL::Iterator itp;
4026 craig 768
        ProfilesL::Iterator itpend=ScMW->InputProfiles.end();
769
        for (itp = ScMW->InputProfiles.begin(); itp != itpend; ++itp)
1307 fschmid 770
        {
771
                SolidPr->insertItem(itp.key());
772
                if (itp.key() == tp)
773
                {
774
                        if ((CMSuse) && (CMSavail))
775
                                SolidPr->setCurrentItem(SolidPr->count()-1);
776
                }
777
        }
778
        if ((CMSuse) && (CMSavail))
779
                IntendS->setCurrentItem(Optionen->Intent);
780
        QString tp1 = Optionen->ImageProf;
4026 craig 781
        if (!ScMW->InputProfiles.contains(tp1))
1307 fschmid 782
        {
783
                if (vie != 0)
2984 fschmid 784
                        tp1 = vie->Doc->CMSSettings.DefaultSolidColorProfile;
1307 fschmid 785
                else
2984 fschmid 786
                        tp1 = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorProfile;
1307 fschmid 787
        }
2891 cbradney 788
        ProfilesL::Iterator itp2;
4026 craig 789
        ProfilesL::Iterator itp2end=ScMW->InputProfiles.end();
790
        for (itp2 = ScMW->InputProfiles.begin(); itp2 != itp2end; ++itp2)
1307 fschmid 791
        {
792
                ImageP->insertItem(itp2.key());
793
                if (itp2.key() == tp1)
794
                {
795
                        if ((CMSuse) && (CMSavail))
796
                                ImageP->setCurrentItem(ImageP->count()-1);
797
                }
798
        }
799
        if ((CMSuse) && (CMSavail))
800
                IntendI->setCurrentItem(Optionen->Intent2);
801
        if ((!CMSuse) || (!CMSavail))
802
        {
803
                GroupBox9->hide();
804
                ProfsGroup->hide();
805
        }
806
#else
807
        GroupBox9->hide();
808
        ProfsGroup->hide();
809
#endif
810
 
811
        QSpacerItem* spacerCG = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
812
        tabColorLayout->addItem( spacerCG );
813
        insertTab( tabColor, tr( "C&olor" ) );
814
 
815
        tabPDFX = new QWidget( this, "tabPDFX" );
816
        tabPDFXLayout = new QVBoxLayout( tabPDFX, 11, 5, "tabPDFXLayout");
817
        X3Group = new QGroupBox( tabPDFX, "X3Group" );
818
        X3Group->setTitle( tr( "PDF/X-3 Output Intent" ) );
819
        X3Group->setColumnLayout(0, Qt::Vertical );
820
        X3Group->layout()->setSpacing( 5 );
821
        X3Group->layout()->setMargin( 10 );
822
        X3GroupLayout = new QGridLayout( X3Group->layout() );
823
        X3GroupLayout->setAlignment( Qt::AlignTop );
824
        PrintProfC = new QComboBox( true, X3Group, "PrintProfC" );
825
        PrintProfC->setEditable(false);
826
#ifdef HAVE_CMS
827
 
828
        ProfilesL::Iterator itp3;
829
        QString tp3 = Optionen->PrintProf;
830
        if (!PDFXProfiles->contains(tp3))
831
        {
832
                if (vie != 0)
833
                        tp3 = vie->Doc->CMSSettings.DefaultPrinterProfile;
834
                else
2834 cbradney 835
                        tp3 = PrefsManager::instance()->appPrefs.DCMSset.DefaultPrinterProfile;
1307 fschmid 836
        }
837
        for (itp3 = PDFXProfiles->begin(); itp3 != PDFXProfiles->end(); ++itp3)
838
        {
839
                PrintProfC->insertItem(itp3.key());
840
                if (itp3.key() == tp3)
841
                        PrintProfC->setCurrentItem(PrintProfC->count()-1);
842
        }
843
#endif
844
        X3GroupLayout->addWidget( PrintProfC, 0, 1 );
845
        InfoString = new QLineEdit( X3Group, "InfoString" );
846
        InfoString->setText(Optionen->Info);
847
        X3GroupLayout->addWidget( InfoString, 1, 1 );
848
        PDFX2 = new QLabel( InfoString, tr( "&Info String:" ), X3Group, "PDFX2" );
849
        X3GroupLayout->addWidget( PDFX2, 1, 0 );
850
        PDFX1 = new QLabel( PrintProfC, tr( "Output &Profile:" ), X3Group, "PDFX1" );
851
        X3GroupLayout->addWidget( PDFX1, 0, 0 );
852
        tabPDFXLayout->addWidget( X3Group );
853
        BleedGroup = new QGroupBox( tabPDFX, "BleedGroup" );
854
        BleedGroup->setTitle( tr( "Trim Box" ) );
855
        BleedGroup->setColumnLayout(0, Qt::Vertical );
856
        BleedGroup->layout()->setSpacing( 5 );
857
        BleedGroup->layout()->setMargin( 11 );
858
        BleedGroupLayout = new QGridLayout( BleedGroup->layout() );
859
        BleedGroupLayout->setAlignment( Qt::AlignTop );
860
        BleedIcon = new QLabel( BleedGroup, "BleedIcon" );
861
        BleedIcon->setMinimumSize( QSize( 74, 84 ) );
862
        BleedIcon->setMaximumSize( QSize( 74, 84 ) );
863
        BleedIcon->setFrameShape( QLabel::Panel );
864
        BleedIcon->setFrameShadow( QLabel::Sunken );
865
        BleedIcon->setScaledContents( false );
866
        BleedIcon->setAlignment( static_cast<int>( QLabel::AlignCenter ) );
867
        BleedGroupLayout->addWidget( BleedIcon, 1, 2 );
1792 cbradney 868
        BleedTop = new MSpinBox( BleedGroup, precision );
1307 fschmid 869
        BleedGroupLayout->addWidget( BleedTop, 0, 2 );
1792 cbradney 870
        BleedBottom = new MSpinBox( BleedGroup, precision );
1307 fschmid 871
        BleedGroupLayout->addWidget( BleedBottom, 2, 2 );
1792 cbradney 872
        BleedRight = new MSpinBox( BleedGroup, precision );
1307 fschmid 873
        BleedGroupLayout->addWidget( BleedRight, 1, 3 );
1792 cbradney 874
        BleedLeft = new MSpinBox( BleedGroup, precision );
1307 fschmid 875
        BleedGroupLayout->addWidget( BleedLeft, 1, 1 );
876
        QSpacerItem* spacerPX = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
877
        BleedGroupLayout->addItem( spacerPX, 1, 0 );
878
        QSpacerItem* spacerPX2 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
879
        BleedGroupLayout->addItem( spacerPX2, 1, 4 );
880
        tabPDFXLayout->addWidget( BleedGroup );
881
        insertTab( tabPDFX, tr( "PDF/X-&3" ) );
882
        BleedTop->setSuffix( unit );
883
        BleedTop->setMinValue(0);
1792 cbradney 884
        BleedTop->setMaxValue(PageH*unitRatio);
885
        BleedTop->setValue(Optionen->BleedTop*unitRatio);
1307 fschmid 886
        BleedBottom->setSuffix( unit );
887
        BleedBottom->setMinValue(0);
1792 cbradney 888
        BleedBottom->setMaxValue(PageH*unitRatio);
889
        BleedBottom->setValue(Optionen->BleedBottom*unitRatio);
1307 fschmid 890
        BleedRight->setSuffix( unit );
891
        BleedRight->setMinValue(0);
1792 cbradney 892
        BleedRight->setMaxValue(PageB*unitRatio);
893
        BleedRight->setValue(Optionen->BleedRight*unitRatio);
1307 fschmid 894
        BleedLeft->setSuffix( unit );
895
        BleedLeft->setMinValue(0);
1792 cbradney 896
        BleedLeft->setMaxValue(PageB*unitRatio);
897
        BleedLeft->setValue(Optionen->BleedLeft*unitRatio);
1307 fschmid 898
#ifdef HAVE_CMS
899
        if ((!CMSuse) || (!CMSavail))
900
                setTabEnabled(tabPDFX, false);
901
        if ((CMSuse) && (CMSavail) && (Optionen->Version == 12) && (!PDFXProfiles->isEmpty()))
1738 fschmid 902
                EnablePDFX(3);
1307 fschmid 903
        else
904
                setTabEnabled(tabPDFX, false);
905
#else
906
        setTabEnabled(tabPDFX, false);
907
#endif
908
        BleedChanged();
909
        if (vie != 0)
910
        {
911
                PgSel = 0;
912
                Pages->setCurrentItem(0);
913
                SetEffOpts(0);
914
                Pages->setEnabled(false);
915
                Effects->setEnabled(false);
916
                PagePrev->setEnabled(false);
917
                DoEffects();
918
                if (CheckBox10->isChecked())
919
                {
920
                        PageTime->setValue(EffVal[0].pageViewDuration);
921
                        EffectTime->setValue(EffVal[0].pageEffectDuration);
922
                        EffectType->setCurrentItem(EffVal[0].effectType);
923
                        EDirection->setCurrentItem(EffVal[0].Dm);
924
                        EDirection_2->setCurrentItem(EffVal[0].M);
925
                        EDirection_2_2->setCurrentItem(EffVal[0].Di);
926
                        SetEffOpts(EffectType->currentItem());
927
                }
928
                connect(EmbedFonts, SIGNAL(clicked()), this, SLOT(EmbedAll()));
929
                connect(AvailFlist, SIGNAL(clicked(QListBoxItem*)), this, SLOT(SelAFont(QListBoxItem*)));
930
                connect(EmbedList, SIGNAL(clicked(QListBoxItem*)), this, SLOT(SelEFont(QListBoxItem*)));
931
                connect(ToEmbed, SIGNAL(clicked()), this, SLOT(PutToEmbed()));
932
                connect(FromEmbed, SIGNAL(clicked()), this, SLOT(RemoveEmbed()));
933
                connect(SubsetFonts, SIGNAL(clicked()), this, SLOT(SubsetAll()));
934
                connect(SubsetList, SIGNAL(clicked(QListBoxItem*)), this, SLOT(SelSFont(QListBoxItem*)));
935
                connect(ToSubset, SIGNAL(clicked()), this, SLOT(PutToSubset()));
936
                connect(FromSubset, SIGNAL(clicked()), this, SLOT(RemoveSubset()));
937
                connect(PagePrev, SIGNAL(clicked()), this, SLOT(PagePr()));
938
                connect(Pages, SIGNAL(highlighted(int)), this, SLOT(SetPgEff(int)));
939
                connect(EffectType, SIGNAL(activated(int)), this, SLOT(SetEffOpts(int)));
940
                connect(EDirection_2_2, SIGNAL(activated(int)), this, SLOT(ValidDI(int)));
941
                connect(CheckBox10, SIGNAL(clicked()), this, SLOT(DoEffects()));
942
                connect(EonAllPg, SIGNAL(clicked()), this, SLOT(EffectOnAll()));
3388 fschmid 943
                connect(InfoString, SIGNAL(textChanged(const QString &)), this, SLOT(checkInfo()));
944
                connect(InfoString, SIGNAL(returnPressed()), this, SLOT(checkInfo()));
945
                connect(InfoString, SIGNAL(lostFocus()), this, SLOT(checkInfo()));
3849 subik 946
                QToolTip::add( EmbedFonts, "<qt>" + tr( "Embed fonts into the PDF. Embedding the fonts will preserve the layout and appearance of your document." ) + "</qt>");
2217 cbradney 947
                QToolTip::add( CheckBox10, "<qt>" + tr( "Enables presentation effects when using Adobe&#174; Reader&#174; in full screen mode." ) + "</qt>");
3849 subik 948
                QToolTip::add( PagePrev, "<qt>" + tr( "Show page previews of each page listed above." ) + "</qt>");
949
                QToolTip::add( PageTime, "<qt>" + tr( "Length of time the page is shown before the presentation starts on the selected page." ) + "</qt>" );
950
                QToolTip::add( EffectTime, "<qt>" + tr( "Length of time the effect runs. A shorter time will speed up the effect, a longer one will slow it down." ) + "</qt>" );
951
                QToolTip::add( EffectType, "<qt>" + tr( "Type of the display effect." ) + "</qt>" );
952
                QToolTip::add( EDirection, "<qt>" + tr( "Direction of the effect of moving lines for the split and blind effects." ) + "</qt>" );
953
                QToolTip::add( EDirection_2, "<qt>" + tr( "Starting position for the box and split effects." ) + "</qt>" );
954
                QToolTip::add( EDirection_2_2, "<qt>" + tr( "Direction of the glitter or wipe effects." ) + "</qt>" );
955
                QToolTip::add( EonAllPg, "<qt>" + tr( "Apply the selected effect to all pages." ) + "</qt>" );
1307 fschmid 956
        }
957
        connect(AllPages, SIGNAL(toggled(bool)), this, SLOT(SelRange(bool)));
958
        connect(DSColor, SIGNAL(clicked()), this, SLOT(DoDownsample()));
959
        connect(MirrorH, SIGNAL(clicked()), this, SLOT(PDFMirror()));
960
        connect(MirrorV, SIGNAL(clicked()), this, SLOT(PDFMirror()));
961
        connect(RotateDeg, SIGNAL(activated(int)), this, SLOT(Rotation(int)));
962
        connect(OutCombo, SIGNAL(activated(int)), this, SLOT(EnablePr(int)));
963
        connect(EmbedProfs, SIGNAL(clicked()), this, SLOT(EnablePG()));
964
        connect(EmbedProfs2, SIGNAL(clicked()), this, SLOT(EnablePGI()));
965
        connect(NoEmbedded, SIGNAL(clicked()), this, SLOT(EnablePGI2()));
1973 craig 966
        connect(PDFVersionCombo, SIGNAL(activated(int)), this, SLOT(EnablePDFX(int)));
1307 fschmid 967
        connect(BleedTop, SIGNAL(valueChanged(int)), this, SLOT(BleedChanged()));
968
        connect(BleedBottom, SIGNAL(valueChanged(int)), this, SLOT(BleedChanged()));
969
        connect(BleedLeft, SIGNAL(valueChanged(int)), this, SLOT(BleedChanged()));
970
        connect(BleedRight, SIGNAL(valueChanged(int)), this, SLOT(BleedChanged()));
971
        connect(Encry, SIGNAL(clicked()), this, SLOT(ToggleEncr()));
972
        connect(UseLPI, SIGNAL(clicked()), this, SLOT(EnableLPI2()));
973
        connect(LPIcolor, SIGNAL(activated(int)), this, SLOT(SelLPIcol(int)));
974
        //tooltips
3849 subik 975
        QToolTip::add( AllPages, "<qt>" + tr( "Export all pages to PDF" ) + "</qt>" );
976
        QToolTip::add( OnlySome, "<qt>" + tr( "Export a range of pages to PDF" ) );
977
        QToolTip::add( PageNr, "<qt>" + tr( "Insert a comma separated list of tokens where "
4197 fschmid 978
                                                    "a token can be * for all the pages, 1-5 for "
979
                                                    "a range of pages or a single page number.") + "</qt>" );
1307 fschmid 980
 
3495 cbradney 981
        QToolTip::add( PDFVersionCombo, "<qt>" + tr( "Determines the PDF compatibility. The default is PDF 1.3 which gives the widest compatibility. Choose PDF 1.4 if your file uses features such as transparency or you require 128 bit encryption. PDF/X-3 is for exporting the PDF when you want color managed RGB for commercial printing and is selectable when you have activated color management. Use only when advised by your printer or in some cases printing to a 4 color digital color laser printer." ) + "</qt>");
3849 subik 982
        QToolTip::add( ComboBind, "<qt>" + tr( "Determines the binding of pages in the PDF. Unless you know you need to change it leave the default choice - Left." ) + "</qt>" );
983
        QToolTip::add( CheckBox1, "<qt>" + tr( "Generates thumbnails of each page in the PDF. Some viewers can use the thumbnails for navigation." ) + "</qt>" );
984
        QToolTip::add( Article, "<qt>" + tr( "Generate PDF Articles, which is useful for navigating linked articles in a PDF." ) + "</qt>" );
985
        QToolTip::add( useLayers, "<qt>" + tr( "Layers in your document are exported to the PDF Only available if PDF 1.5 is choosen." ) + "</qt>" );
986
        QToolTip::add( CheckBM, "<qt>" + tr( "Embed the bookmarks you created in your document. These are useful for navigating long PDF documents." ) + "</qt>" );
987
        QToolTip::add( Resolution, "<qt>" + tr( "Export resolution of text and vector graphics. This does not affect the resolution of bitmap images like photos." ) + "</qt>" );
988
        QToolTip::add( Compression, "<qt>" + tr( "Enables lossless compression of text and graphics. Unless you have a reason, leave this checked. This reduces PDF file size." ) + "</qt>" );
3798 cbradney 989
        QToolTip::add( CMethod, "<qt>" + tr( "Method of compression to use for images. Automatic allows Scribus to choose the best method. ZIP is lossless and good for images with solid colors. JPEG is better at creating smaller PDF files which have many photos (with slight image quality loss possible). Leave it set to Automatic unless you have a need for special compression options." ) + "</qt>");
3671 craig 990
        QToolTip::add( CQuality, "<qt>" + tr( "Compression quality levels for lossy compression methods: Minimum (25%), Low (50%), Medium (75%), High (85%), Maximum (95%). Note that a quality level does not directly determine the size of the resulting image - both size and quality loss vary from image to image at any given quality level." ) + "</qt>");
3849 subik 991
        QToolTip::add( DSColor, "<qt>" + tr( "Re-sample your bitmap images to the selected DPI. Leaving this unchecked will render them at their native resolution. This can increase memory usage and slow down export." ) + "</qt>" );
992
        QToolTip::add( ValC, "<qt>" + tr( "DPI (Dots Per Inch) for image export.") + "</qt>" );
993
        QToolTip::add( Encry, "<qt>" + tr( "Enable the security features in your exported PDF. If you selected PDF 1.3, the PDF will be protected by 40 bit encryption. If you selected PDF 1.4, the PDF will be protected by 128 bit encryption. Disclaimer: PDF encryption is not as reliable as GPG or PGP encryption and does have some limitations." ) + "</qt>" );
994
        QToolTip::add( PassOwner, "<qt>" + tr( "Choose a master password which enables or disables all the security features in your exported PDF" ) + "</qt>" );
995
        QToolTip::add( PassUser, "<qt>" + tr( "Choose a password for users to be able to read your PDF." ) + "</qt>" );
996
        QToolTip::add( PrintSec, "<qt>" + tr( "Allow printing of the PDF. If un-checked, printing is prevented. " ) + "</qt>" );
997
        QToolTip::add( ModifySec, "<qt>" + tr( "Allow modifying of the PDF. If un-checked, modifying the PDF is prevented." ) + "</qt>" );
3798 cbradney 998
        QToolTip::add( CopySec, "<qt>" + tr( "Allow copying of text or graphics from the PDF. If unchecked, text and graphics cannot be copied." ) + "</qt>" );
999
        QToolTip::add( AddSec, "<qt>" + tr( "Allow adding annotations and fields to the PDF. If unchecked, editing annotations and fields is prevented." ) + "</qt>" );
3849 subik 1000
        QToolTip::add( OutCombo, "<qt>" + tr( "Color model for the output of your PDF. Choose Screen/Web for PDFs which are used for screen display and for printing on typical inkjets. Choose Printer when printing to a true 4 color CMYK printer." ) + "</qt>" );
1001
        QToolTip::add( UseLPI, "<qt>" + tr( "This is an advanced setting which is not enabled by default. This should only be enabled when specifically requested by your printer and they have given you the exact details needed. Otherwise, your exported PDF may not print properly and is truly not portable across systems." ) + "</qt>" );
1002
        QToolTip::add( EmbedProfs, "<qt>" + tr( "Embed a color profile for solid colors" ) + "</qt>" );
1003
        QToolTip::add( SolidPr, "<qt>" + tr( "Color profile for solid colors" ) + "</qt>" );
1004
        QToolTip::add( IntendS, "<qt>" + tr( "Rendering intent for solid colors" ) + "</qt>" );
1005
        QToolTip::add( EmbedProfs2, "<qt>" + tr( "Embed a color profile for images" ) + "</qt>" );
1006
        QToolTip::add( NoEmbedded, "<qt>" + tr( "Do not use color profiles that are embedded in source images" ) + "</qt>" );
1007
        QToolTip::add( ImageP, "<qt>" + tr( "Color profile for images" ) + "</qt>" );
1008
        QToolTip::add( IntendI, "<qt>" + tr( "Rendering intent for images" ) + "</qt>" );
1009
        QToolTip::add( PrintProfC, "<qt>" + tr( "Output profile for printing. If possible, get some guidance from your printer on profile selection." ) + "</qt>" );
1010
        QToolTip::add( InfoString, "<qt>" + tr( "Mandatory string for PDF/X-3 or the PDF will fail PDF/X-3 conformance. We recommend you use the title of the document." ) + "</qt>" );
1011
        QToolTip::add( BleedTop, "<qt>" + tr( "Distance for bleed from the top of the physical page" ) + "</qt>" );
1012
        QToolTip::add( BleedBottom, "<qt>" + tr( "Distance for bleed from the bottom of the physical page" ) + "</qt>" );
1013
        QToolTip::add( BleedLeft, "<qt>" + tr( "Distance for bleed from the left of the physical page" ) + "</qt>" );
1014
        QToolTip::add( BleedRight, "<qt>" + tr( "Distance for bleed from the right of the physical page" )  + "</qt>");
1015
        QToolTip::add( MirrorH, "<qt>" + tr( "Mirror Page(s) horizontally" ) + "</qt>" );
1016
        QToolTip::add( MirrorV, "<qt>" + tr( "Mirror Page(s) vertically" ) + "</qt>" );
4197 fschmid 1017
        QToolTip::add( useSpot,"<qt>" + tr( "Enables Spot Colors to be converted to composite colors. Unless you are planning to print spot colors at a commercial printer, this is probably best left enabled." ) + "</qt>");
1307 fschmid 1018
}
1019
 
1828 fschmid 1020
void TabPDFOptions::restoreDefaults()
4197 fschmid 1021
{}
1828 fschmid 1022
 
3388 fschmid 1023
void TabPDFOptions::checkInfo()
1024
{
1025
        if ((PDFVersionCombo->currentItem() == 3) && (InfoString->text().isEmpty()))
1026
                emit noInfo();
1027
        else
1028
                emit hasInfo();
1029
}
1030
 
1307 fschmid 1031
void TabPDFOptions::ToggleEncr()
1032
{
1033
        bool setter = Encry->isChecked() ? true : false;
1034
        GroupSecSet->setEnabled(setter);
1035
        GroupPass->setEnabled(setter);
1036
}
1037
 
1038
void TabPDFOptions::BleedChanged()
1039
{
1792 cbradney 1040
        BleedTop->setMaxValue(pageH*unitRatio-BleedBottom->value());
1041
        BleedBottom->setMaxValue(pageH*unitRatio-BleedTop->value());
1042
        BleedRight->setMaxValue(pageB*unitRatio-BleedLeft->value());
1043
        BleedLeft->setMaxValue(pageB*unitRatio-BleedRight->value());
3333 avox 1044
        QPixmap pm(70,80);
1307 fschmid 1045
        pm.fill(white);
1046
        QPainter p;
1047
        p.begin(&pm);
1048
        p.setBrush(NoBrush);
1049
        p.setPen(black);
1050
        p.drawRect(0, 0, pm.width(), pm.height());
1051
        p.setPen(QPen(black, 1, DotLine, FlatCap, MiterJoin));
1792 cbradney 1052
        int x = qRound((BleedLeft->value() / unitRatio) * (70.0 / pageB));
1053
        int y = qRound((BleedTop->value() / unitRatio) * (80.0 / pageH));
1054
        int w =qRound((pageB-((BleedLeft->value()+BleedRight->value())/unitRatio))*(70.0/pageB));
1055
        int h = qRound((pageH-((BleedTop->value()+BleedBottom->value())/unitRatio))*(80.0/pageH));
1307 fschmid 1056
        p.drawRect(x, y, w, h);
1057
        BleedIcon->setPixmap(pm);
1058
        p.end();
1059
}
1060
 
1061
void TabPDFOptions::enableCMS(bool enable)
1062
{
1973 craig 1063
        disconnect(PDFVersionCombo, SIGNAL(activated(int)), this, SLOT(EnablePDFX(int)));
1064
        int a = PDFVersionCombo->currentItem();
1065
        PDFVersionCombo->clear();
2578 craig 1066
        PDFVersionCombo->insertItem("PDF 1.3");
1067
        PDFVersionCombo->insertItem("PDF 1.4");
1068
        PDFVersionCombo->insertItem("PDF 1.5");
1843 cbradney 1069
        cms=enable;
1307 fschmid 1070
        if (enable)
1973 craig 1071
                PDFVersionCombo->insertItem("PDF/X-3");
1307 fschmid 1072
        else
1738 fschmid 1073
                a = QMIN(a, 3);
1973 craig 1074
        PDFVersionCombo->setCurrentItem(a);
1307 fschmid 1075
        EnablePr(1);
1973 craig 1076
        connect(PDFVersionCombo, SIGNAL(activated(int)), this, SLOT(EnablePDFX(int)));
1307 fschmid 1077
}
1078
 
1079
void TabPDFOptions::EnablePDFX(int a)
1080
{
1843 cbradney 1081
        useLayers->setEnabled(a == 2);
4197 fschmid 1082
        useLayers2->setEnabled(a == 2);
1738 fschmid 1083
        if (a != 3)
1307 fschmid 1084
        {
1085
                setTabEnabled(tabPDFX, false);
1086
                setTabEnabled(tabSecurity, true);
1087
                OutCombo->setEnabled(true);
1088
                EmbedProfs2->setEnabled(true);
3564 fschmid 1089
                emit hasInfo();
1307 fschmid 1090
                if (view != 0)
1091
                {
1092
                        CheckBox10->setEnabled(true);
1093
                        EmbedFonts->setEnabled(true);
1781 fschmid 1094
                        if (EmbedList->count() != 0)
1095
                                FromEmbed->setEnabled(true);
1096
                        ToEmbed->setEnabled(true);
1307 fschmid 1097
                }
1098
                return;
1099
        }
1100
        disconnect(OutCombo, SIGNAL(activated(int)), this, SLOT(EnablePr(int)));
1101
        OutCombo->setCurrentItem(1);
1102
        OutCombo->setEnabled(false);
1103
        EnablePr(1);
1104
        EmbedProfs2->setChecked(true);
1105
        EmbedProfs2->setEnabled(false);
1106
        if (view != 0)
1107
        {
1108
                EmbedFonts->setChecked(true);
1109
                EmbedAll();
1110
                CheckBox10->setChecked(false);
1111
                CheckBox10->setEnabled(false);
1112
                EmbedFonts->setEnabled(false);
1781 fschmid 1113
                FromEmbed->setEnabled(false);
1114
                ToEmbed->setEnabled(false);
3388 fschmid 1115
                if (InfoString->text().isEmpty())
1116
                        emit noInfo();
1117
                else
1118
                        emit hasInfo();
1307 fschmid 1119
        }
1120
        EnablePGI();
1121
        setTabEnabled(tabPDFX, true);
1122
        setTabEnabled(tabSecurity, false);
1123
        connect(OutCombo, SIGNAL(activated(int)), this, SLOT(EnablePr(int)));
1124
}
1125
 
1126
void TabPDFOptions::EnablePGI()
1127
{
1128
        if (EmbedProfs2->isChecked())
1129
        {
1130
                NoEmbedded->setEnabled(true);
1131
                bool setter = NoEmbedded->isChecked() ? true : false;
1132
                ProfsTxt3->setEnabled(setter);
1133
                ProfsTxt4->setEnabled(setter);
1134
                ImageP->setEnabled(setter);
1135
                IntendI->setEnabled(setter);
1136
        }
1137
        else
1138
        {
1139
                ProfsTxt3->setEnabled(false);
1140
                ProfsTxt4->setEnabled(false);
1141
                ImageP->setEnabled(false);
1142
                IntendI->setEnabled(false);
1143
                NoEmbedded->setEnabled(false);
1144
        }
1145
}
1146
 
1147
void TabPDFOptions::EnablePGI2()
1148
{
1149
        bool setter = NoEmbedded->isChecked() ? true : false;
1150
        ProfsTxt3->setEnabled(setter);
1151
        ProfsTxt4->setEnabled(setter);
1152
        ImageP->setEnabled(setter);
1153
        IntendI->setEnabled(setter);
1154
}
1155
 
1156
void TabPDFOptions::EnablePG()
1157
{
1158
        bool setter = EmbedProfs->isChecked() ? true : false;
1159
        ProfsTxt1->setEnabled(setter);
1160
        ProfsTxt2->setEnabled(setter);
1161
        SolidPr->setEnabled(setter);
1162
        IntendS->setEnabled(setter);
1163
}
1164
 
1165
void TabPDFOptions::EnablePr(int a)
1166
{
1167
        EnableLPI(a);
1168
        bool setter = a == 1 ? true : false;
1169
        GroupBox9->setEnabled(setter);
1170
        ProfsGroup->setEnabled(setter);
1171
}
1172
 
1173
void TabPDFOptions::EnableLPI(int a)
1174
{
1175
        if (a == 1)
1176
        {
1177
#ifdef HAVE_CMS
1178
                QString tp = Opts->SolidProf;
4026 craig 1179
                if (!ScMW->InputProfiles.contains(tp))
1307 fschmid 1180
                {
1181
                        if (view != 0)
2984 fschmid 1182
                                tp = view->Doc->CMSSettings.DefaultSolidColorProfile;
1307 fschmid 1183
                        else
2984 fschmid 1184
                                tp = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorProfile;
1307 fschmid 1185
                }
2891 cbradney 1186
                SolidPr->clear();
1307 fschmid 1187
                ProfilesL::Iterator itp;
4026 craig 1188
                ProfilesL::Iterator itpend=ScMW->InputProfiles.end();
1189
                for (itp = ScMW->InputProfiles.begin(); itp != itpend; ++itp)
1307 fschmid 1190
                {
1191
                        SolidPr->insertItem(itp.key());
1192
                        if (itp.key() == tp)
1193
                        {
1194
                                if (cms)
1195
                                        SolidPr->setCurrentItem(SolidPr->count()-1);
1196
                        }
1197
                }
1198
                if (cms)
1199
                        IntendS->setCurrentItem(Opts->Intent);
1200
                QString tp1 = Opts->ImageProf;
4026 craig 1201
                if (!ScMW->InputProfiles.contains(tp1))
1307 fschmid 1202
                {
1203
                        if (view != 0)
2984 fschmid 1204
                                tp1 = view->Doc->CMSSettings.DefaultSolidColorProfile;
1307 fschmid 1205
                        else
2984 fschmid 1206
                                tp1 = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorProfile;
1307 fschmid 1207
                }
1208
                ImageP->clear();
2891 cbradney 1209
                ProfilesL::Iterator itp2;
4026 craig 1210
                ProfilesL::Iterator itp2end=ScMW->InputProfiles.end();
1211
                for (itp2 = ScMW->InputProfiles.begin(); itp2 != itp2end; ++itp2)
1307 fschmid 1212
                {
1213
                        ImageP->insertItem(itp2.key());
1214
                        if (itp2.key() == tp1)
1215
                        {
1216
                                if (cms)
1217
                                        ImageP->setCurrentItem(ImageP->count()-1);
1218
                        }
1219
                }
1220
                if (cms)
1221
                        IntendI->setCurrentItem(Opts->Intent2);
1222
#endif
1223
                if (cms)
1224
                {
1225
                        GroupBox9->show();
1226
                        ProfsGroup->show();
1476 fschmid 1227
                        UseLPI->hide();
3079 fschmid 1228
                        useSpot->hide();
1307 fschmid 1229
                }
1230
                else
1231
                {
1232
                        GroupBox9->hide();
1233
                        ProfsGroup->hide();
3079 fschmid 1234
                        useSpot->show();
1307 fschmid 1235
                        UseLPI->show();
1236
                        if (UseLPI->isChecked())
1237
                                LPIgroup->show();
1238
                        else
1239
                                LPIgroup->hide();
1240
                }
1241
        }
1242
        else
1243
        {
3079 fschmid 1244
                useSpot->hide();
1307 fschmid 1245
                UseLPI->hide();
1246
                LPIgroup->hide();
1247
        }
1248
}
1249
 
1250
void TabPDFOptions::EnableLPI2()
1251
{
1252
        if (UseLPI->isChecked())
1253
                LPIgroup->show();
1254
        else
1255
                LPIgroup->hide();
1256
}
1257
 
1258
void TabPDFOptions::SelLPIcol(int c)
1259
{
1260
        Opts->LPISettings[SelLPIcolor].Frequency = LPIfreq->value();
1261
        Opts->LPISettings[SelLPIcolor].Angle = LPIangle->value();
1262
        Opts->LPISettings[SelLPIcolor].SpotFunc = LPIfunc->currentItem();
1263
        LPIfreq->setValue(Opts->LPISettings[LPIcolor->text(c)].Frequency);
1264
        LPIangle->setValue(Opts->LPISettings[LPIcolor->text(c)].Angle);
1265
        LPIfunc->setCurrentItem(Opts->LPISettings[LPIcolor->text(c)].SpotFunc);
1266
        SelLPIcolor = LPIcolor->text(c);
1267
}
1268
 
1269
void TabPDFOptions::SelRange(bool e)
1270
{
1271
        bool setter = e ? false : true;
1272
        PageNr->setEnabled( setter );
1273
        if (setter == false)
1274
                CheckBM->setChecked(false);
1275
}
1276
 
1277
void TabPDFOptions::EffectOnAll()
1278
{
3724 cbradney 1279
        for (uint pg = 0; pg < view->Doc->Pages->count(); ++pg)
1307 fschmid 1280
        {
1281
                EffVal[pg].pageViewDuration = PageTime->value();
1282
                EffVal[pg].pageEffectDuration = EffectTime->value();
1283
                EffVal[pg].effectType = EffectType->currentItem();
1284
                EffVal[pg].Dm = EDirection->currentItem();
1285
                EffVal[pg].M = EDirection_2->currentItem();
1286
                EffVal[pg].Di = EDirection_2_2->currentItem();
1287
        }
1288
}
1289
 
1290
void TabPDFOptions::PDFMirror()
1291
{
1292
        Opts->MirrorH = MirrorH->isOn();
1293
        Opts->MirrorV = MirrorV->isOn();
1294
}
1295
 
1296
void TabPDFOptions::Rotation( int value )
1297
{
3849 subik 1298
        Opts->RotateDeg = value * 90;
1307 fschmid 1299
}
1300
 
1301
void TabPDFOptions::DoEffects()
1302
{
1303
        bool setter = CheckBox10->isChecked() ? true : false;
1304
        Pages->setEnabled(setter);
1305
        Effects->setEnabled(setter);
1306
        PagePrev->setEnabled(setter);
4197 fschmid 1307
        useFullScreen->setChecked(setter);
1307 fschmid 1308
}
1309
 
1310
void TabPDFOptions::ValidDI(int nr)
1311
{
1312
        if (!EDirection_2_2->listBox()->item(nr)->isSelectable())
1313
                EDirection_2_2->setCurrentItem(0);
1314
}
1315
 
1316
void TabPDFOptions::SetPgEff(int nr)
1317
{
1318
        if (nr < 0)
1319
                return;
1320
        EffVal[PgSel].pageViewDuration = PageTime->value();
1321
        EffVal[PgSel].pageEffectDuration = EffectTime->value();
1322
        EffVal[PgSel].effectType = EffectType->currentItem();
1323
        EffVal[PgSel].Dm = EDirection->currentItem();
1324
        EffVal[PgSel].M = EDirection_2->currentItem();
1325
        EffVal[PgSel].Di = EDirection_2_2->currentItem();
1326
        SetEffOpts(EffVal[nr].effectType);
1327
        PageTime->setValue(EffVal[nr].pageViewDuration);
1328
        EffectTime->setValue(EffVal[nr].pageEffectDuration);
1329
        EffectType->setCurrentItem(EffVal[nr].effectType);
1330
        EDirection->setCurrentItem(EffVal[nr].Dm);
1331
        EDirection_2->setCurrentItem(EffVal[nr].M);
1332
        EDirection_2_2->setCurrentItem(EffVal[nr].Di);
1333
        PgSel = nr;
1334
}
1335
 
1336
void TabPDFOptions::SetEffOpts(int nr)
1337
{
1338
        EDirection_2_2->listBox()->item(2)->setSelectable(false);
1339
        EDirection_2_2->listBox()->item(3)->setSelectable(false);
1340
        EDirection_2_2->listBox()->item(4)->setSelectable(false);
1341
        switch (nr)
1342
        {
1343
        case 0:
1344
        case 3:
1345
                EDirection->setEnabled(false);
1346
                EDirection_2->setEnabled(false);
1347
                EDirection_2_2->setEnabled(false);
1348
                break;
1349
        case 1:
1350
                EDirection->setEnabled(true);
1351
                EDirection_2->setEnabled(false);
1352
                EDirection_2_2->setEnabled(false);
1353
                break;
1354
        case 2:
1355
                EDirection->setEnabled(false);
1356
                EDirection_2->setEnabled(true);
1357
                EDirection_2_2->setEnabled(false);
1358
                break;
1359
        case 4:
1360
        case 6:
1361
                EDirection->setEnabled(false);
1362
                EDirection_2->setEnabled(false);
1363
                EDirection_2_2->setEnabled(true);
1364
                if (nr == 6)
1365
                {
1366
                        EDirection_2_2->listBox()->item(2)->setSelectable(true);
1367
                        EDirection_2_2->listBox()->item(3)->setSelectable(true);
1368
                }
1369
                else
1370
                        EDirection_2_2->listBox()->item(4)->setSelectable(true);
1371
                break;
1372
        case 5:
1373
                EDirection->setEnabled(true);
1374
                EDirection_2->setEnabled(true);
1375
                EDirection_2_2->setEnabled(false);
1376
                break;
1377
        }
1378
}
1379
 
1380
void TabPDFOptions::PagePr()
1381
{
1382
        disconnect(Pages, SIGNAL(highlighted(int)), this, SLOT(SetPgEff(int)));
1383
        QString tmp;
1815 fschmid 1384
        QPixmap pm;
1307 fschmid 1385
        int ci = Pages->currentItem();
1386
        if (PagePrev->isChecked())
1387
        {
3724 cbradney 1388
                for (uint pg = 0; pg < view->Doc->Pages->count(); ++pg)
1815 fschmid 1389
                {
1390
                        pm.convertFromImage(view->PageToPixmap(pg, 70));
1391
                        Pages->changeItem(pm, tr("Page")+" "+tmp.setNum(pg+1), pg);
1392
                }
1307 fschmid 1393
        }
1394
        else
1395
        {
3724 cbradney 1396
                for (uint pg = 0; pg < view->Doc->Pages->count(); ++pg)
1307 fschmid 1397
                        Pages->changeItem( tr("Page")+" "+tmp.setNum(pg+1), pg);
1398
        }
1399
        if (ci != -1)
1400
        {
1401
                PgSel = ci;
1402
                Pages->setCurrentItem(ci);
1403
        }
1404
        else
1405
        {
1406
                PgSel = 0;
1407
                Pages->clearSelection();
1408
        }
1409
        connect(Pages, SIGNAL(highlighted(int)), this, SLOT(SetPgEff(int)));
1410
}
1411
 
1412
void TabPDFOptions::DoDownsample()
1413
{
1414
        if (DSColor->isChecked())
1415
        {
1416
                ValC->setEnabled(true);
1417
                if (ValC->value() > Resolution->value())
1418
                        ValC->setValue(Resolution->value());
1419
                ValC->setMaxValue(Resolution->value());
1420
                ValC->setMinValue(35);
1421
        }
1422
        else
1423
                ValC->setEnabled(false);
1424
}
1425
 
1426
void TabPDFOptions::RemoveEmbed()
1427
{
1428
        FontsToEmbed.remove(EmbedList->currentText());
1429
        EmbedList->removeItem(EmbedList->currentItem());
1430
        EmbedList->clearSelection();
1431
        if (EmbedList->count() == 0)
1432
        {
1433
                FromEmbed->setEnabled(false);
1434
                ToSubset->setEnabled(false);
1435
        }
1436
}
1437
 
1438
void TabPDFOptions::PutToEmbed()
1439
{
1440
        if (EmbedList->count() != 0)
1441
        {
3633 fschmid 1442
                if (!(*AllFontsP)[AvailFlist->currentText()]->Subset)
1307 fschmid 1443
                {
3633 fschmid 1444
                        if (EmbedList->findItem(AvailFlist->currentText()) == NULL)
1445
                        {
1446
                                FontsToEmbed.append(AvailFlist->currentText());
1447
                                EmbedList->insertItem(AvailFlist->currentText());
1448
                        }
1307 fschmid 1449
                }
3633 fschmid 1450
                else
1451
                {
1452
                        if (SubsetList->count() != 0)
1453
                        {
1454
                                if (SubsetList->findItem(AvailFlist->currentText()) == NULL)
1455
                                {
1456
                                        FontsToSubset.append(AvailFlist->currentText());
1457
                                        SubsetList->insertItem(AvailFlist->currentText());
1458
                                }
1459
                        }
1460
                        else
1461
                        {
1462
                                FontsToSubset.append(AvailFlist->currentText());
1463
                                SubsetList->insertItem(AvailFlist->currentText());
1464
                        }
1465
                }
1307 fschmid 1466
        }
1467
        else
1468
        {
3633 fschmid 1469
                if (!(*AllFontsP)[AvailFlist->currentText()]->Subset)
1470
                {
1471
                        FontsToEmbed.append(AvailFlist->currentText());
1472
                        EmbedList->insertItem(AvailFlist->currentText());
1473
                }
1474
                else
1475
                {
1476
                        if (SubsetList->count() != 0)
1477
                        {
1478
                                if (SubsetList->findItem(AvailFlist->currentText()) == NULL)
1479
                                {
1480
                                        FontsToSubset.append(AvailFlist->currentText());
1481
                                        SubsetList->insertItem(AvailFlist->currentText());
1482
                                }
1483
                        }
1484
                        else
1485
                        {
1486
                                FontsToSubset.append(AvailFlist->currentText());
1487
                                SubsetList->insertItem(AvailFlist->currentText());
1488
                        }
1489
                }
1307 fschmid 1490
        }
1491
}
1492
 
1493
void TabPDFOptions::RemoveSubset()
1494
{
3633 fschmid 1495
        if (!(*AllFontsP)[SubsetList->currentText()]->Subset)
1496
        {
1497
                FontsToSubset.remove(SubsetList->currentText());
1498
                FontsToEmbed.append(SubsetList->currentText());
1499
                EmbedList->insertItem(SubsetList->currentText());
1500
                SubsetList->removeItem(SubsetList->currentItem());
1501
                SubsetList->clearSelection();
1502
                if (SubsetList->count() == 0)
1503
                        FromSubset->setEnabled(false);
1504
        }
1307 fschmid 1505
}
1506
 
1507
void TabPDFOptions::PutToSubset()
1508
{
1509
        if (SubsetList->count() != 0)
1510
        {
1511
                if (SubsetList->findItem(EmbedList->currentText()) == NULL)
1512
                {
1513
                        FontsToSubset.append(EmbedList->currentText());
1514
                        SubsetList->insertItem(EmbedList->currentText());
1515
                }
1516
        }
1517
        else
1518
        {
1519
                FontsToSubset.append(EmbedList->currentText());
1520
                SubsetList->insertItem(EmbedList->currentText());
1521
        }
1522
        FontsToEmbed.remove(EmbedList->currentText());
1523
        EmbedList->removeItem(EmbedList->currentItem());
1524
        EmbedList->clearSelection();
1525
        if (EmbedList->count() == 0)
1526
        {
1527
                FromEmbed->setEnabled(false);
1528
                ToSubset->setEnabled(false);
1529
        }
1530
}
1531
 
1532
void TabPDFOptions::SelAFont(QListBoxItem *c)
1533
{
1534
        if ((c != NULL) && (!EmbedFonts->isChecked()))
1535
        {
1536
                FromEmbed->setEnabled(false);
1537
                if (c->isSelectable())
1538
                        ToEmbed->setEnabled(true);
1539
                ToSubset->setEnabled(false);
1540
                FromSubset->setEnabled(false);
1541
                EmbedList->clearSelection();
1542
                SubsetList->clearSelection();
1543
        }
1544
}
1545
 
1546
void TabPDFOptions::SelEFont(QListBoxItem *c)
1547
{
1548
        if ((c != NULL) && (!EmbedFonts->isChecked()))
1549
        {
1781 fschmid 1550
                if (!isTabEnabled(tabPDFX))
1551
                        FromEmbed->setEnabled(true);
1307 fschmid 1552
                ToEmbed->setEnabled(false);
1553
                ToSubset->setEnabled(true);
1554
                FromSubset->setEnabled(false);
1555
                AvailFlist->clearSelection();
1556
                SubsetList->clearSelection();
1557
        }
1558
}
1559
 
1560
void TabPDFOptions::SelSFont(QListBoxItem *c)
1561
{
1562
        if ((c != NULL) && (!EmbedFonts->isChecked()))
1563
        {
1564
                FromSubset->setEnabled(true);
1565
                ToSubset->setEnabled(false);
1566
                ToEmbed->setEnabled(false);
1567
                FromEmbed->setEnabled(false);
1568
                EmbedList->clearSelection();
1569
                AvailFlist->clearSelection();
1570
        }
1571
}
1572
 
1573
void TabPDFOptions::EmbedAll()
1574
{
1575
        if (EmbedFonts->isChecked())
1576
        {
1577
                SubsetFonts->setChecked(false);
1578
                EmbedList->clear();
1579
                FontsToEmbed.clear();
1580
                SubsetList->clear();
1581
                FontsToSubset.clear();
1582
                FromEmbed->setEnabled(false);
1583
                ToEmbed->setEnabled(false);
1584
                ToSubset->setEnabled(false);
1585
                FromSubset->setEnabled(false);
1586
                for (uint a=0; a < AvailFlist->count(); ++a)
1587
                {
1588
                        if (AvailFlist->item(a)->isSelectable())
1589
                        {
3633 fschmid 1590
                                if (!(*AllFontsP)[AvailFlist->item(a)->text()]->Subset)
1591
                                {
1592
                                        FontsToEmbed.append(AvailFlist->item(a)->text());
1593
                                        EmbedList->insertItem(AvailFlist->item(a)->text());
1594
                                }
1595
                                else
1596
                                {
1597
                                        FontsToSubset.append(AvailFlist->item(a)->text());
1598
                                        SubsetList->insertItem(AvailFlist->item(a)->text());
1599
                                }
1307 fschmid 1600
                        }
1601
                }
1602
        }
1603
}
1604
 
1605
void TabPDFOptions::SubsetAll()
1606
{
1607
        if (SubsetFonts->isChecked())
1608
        {
1609
                EmbedFonts->setChecked(false);
1610
                EmbedList->clear();
1611
                FontsToEmbed.clear();
1612
                SubsetList->clear();
1613
                FontsToSubset.clear();
1614
                FromEmbed->setEnabled(false);
1615
                ToEmbed->setEnabled(false);
1616
                ToSubset->setEnabled(false);
1617
                FromSubset->setEnabled(false);
1618
                for (uint a=0; a < AvailFlist->count(); ++a)
1619
                {
1620
                        if (AvailFlist->item(a)->isSelectable())
1621
                        {
1622
                                FontsToSubset.append(AvailFlist->item(a)->text());
1623
                                SubsetList->insertItem(AvailFlist->item(a)->text());
1624
                        }
1625
                }
1626
        }
1627
}