Subversion Repositories Scribus

Rev

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

Rev Author Line No. Line
4430 cbradney 1
/*
2
For general Scribus (>=1.3.2) copyright and licensing information please refer
3
to the COPYING file provided with the program. Following this notice may exist
4
a copyright and/or license notice that predates the release of Scribus 1.3.2
5
for which a new license (GPL+exception) is in place.
6
*/
1307 fschmid 7
/***************************************************************************
8
 *                                                                         *
9
 *   This program is free software; you can redistribute it and/or modify  *
10
 *   it under the terms of the GNU General Public License as published by  *
11
 *   the Free Software Foundation; either version 2 of the License, or     *
12
 *   (at your option) any later version.                                   *
13
 *                                                                         *
14
 ***************************************************************************/
15
#include "tabpdfoptions.h"
16
#include "tabpdfoptions.moc"
17
 
18
#include <qpainter.h>
19
#include "units.h"
1972 craig 20
#include "pdfoptions.h"
2834 cbradney 21
#include "prefsmanager.h"
2688 craig 22
#include "scconfig.h"
1307 fschmid 23
 
24
extern QPixmap loadIcon(QString nam);
25
#ifdef HAVE_CMS
26
extern bool CMSuse;
27
#endif
28
extern bool CMSavail;
5243 cbradney 29
#include "scribuscore.h"
1307 fschmid 30
 
31
 
2834 cbradney 32
 
3205 craig 33
 
4260 craig 34
TabPDFOptions::TabPDFOptions(   QWidget* parent, PDFOptions & Optionen,
35
                                const SCFonts &AllFonts,
36
                                const ProfilesL & PDFXProfiles,
5387 avox 37
                                const QMap<QString, int> & DocFonts,
4260 craig 38
                                const QValueList<PDFPresentationData> & Eff,
39
                                int unitIndex, double PageH, double PageB,
40
                                ScribusView * vie )
4252 craig 41
        : QTabWidget( parent, "pdf" ),
4253 craig 42
        // Initialize all those darn pointer members so we catch unitialized
4255 craig 43
        // accesses. I (CR) use the following command to generate these based on
44
        // the header excerpt:
45
        //    !cut -d \* -f 2 | sed -r 's/ ?(.*);/\t\1\(0\),/g'
46
        // Public GUI member pointers:
4253 craig 47
        AddSec(0),
48
        Article(0),
49
        BleedBottom(0),
50
        BleedLeft(0),
51
        BleedRight(0),
52
        BleedTop(0),
53
        CheckBM(0),
54
        CheckBox1(0),
55
        CMethod(0),
4649 fschmid 56
        ClipMarg(0),
4253 craig 57
        ComboBind(0),
58
        Compression(0),
59
        continuousPages(0),
60
        CopySec(0),
61
        CQuality(0),
62
        doublePageLeft(0),
63
        doublePageRight(0),
64
        DSColor(0),
65
        EmbedProfs(0),
66
        EmbedProfs2(0),
67
        Encry(0),
68
        ImageP(0),
69
        IntendI(0),
70
        IntendS(0),
71
        MirrorH(0),
72
        MirrorV(0),
73
        ModifySec(0),
74
        NoEmbedded(0),
75
        OutCombo(0),
76
        Pages(0),
77
        PassOwner(0),
78
        PassUser(0),
79
        PDFVersionCombo(0),
4255 craig 80
        PrintProfC(0),
81
        PrintSec(0),
82
        Resolution(0),
83
        RotateDeg(0),
84
        singlePage(0),
85
        SolidPr(0),
86
        useBookmarks(0),
87
        useFullScreen(0),
88
        useLayers(0),
89
        useLayers2(0),
90
        UseLPI(0),
91
        useSpot(0),
5320 fschmid 92
        overprintMode(0),
4255 craig 93
        useThumbnails(0),
94
        ValC(0),
4258 craig 95
        // Protected members other than GUI member pointers
96
        // End GUI member pointers
4259 craig 97
        // Protected non-gui members
98
        PgSel(0),
99
        EffVal(Eff),
100
        // Protected GUI member pointers
101
        actionCombo(0),
102
        AllPages(0),
103
        CheckBox10(0),
104
        EDirection(0),
105
        EDirection_2(0),
106
        EDirection_2_2(0),
107
        EffectTime(0),
108
        EffectType(0),
109
        fitWindow(0),
110
        hideMenuBar(0),
111
        hideToolBar(0),
112
        InfoString(0),
113
        LPIangle(0),
114
        LPIfreq(0),
115
        LPIfunc(0),
116
        PageNr(0),
117
        PageTime(0),
118
        // End protected gui member pointers
119
        // Private member gui pointers
4255 craig 120
        actionLabel(0),
121
        AvailFlist(0),
122
        BleedGroup(0),
123
        BleedGroupLayout(0),
124
        BleedIcon(0),
125
        CBox(0),
126
        CBoxLayout(0),
127
        ColorGroup(0),
128
        ColorGroupLayout(0),
129
        ColorText1(0),
130
        Effects(0),
131
        EffectsLayout(0),
132
        EmbedFonts(0),
133
        EmbedList(0),
134
        EonAllPg(0),
135
        FromEmbed(0),
136
        FromSubset(0),
137
        GroupBox1(0),
138
        GroupBox1Layout(0),
139
        GroupBox2Layout(0),
140
        GroupBox9(0),
141
        GroupBox9Layout(0),
142
        groupDisplay(0),
143
        groupDisplayLayout(0),
144
        GroupFont(0),
145
        GroupFontLayout(0),
146
        groupJava(0),
147
        groupJavaLayout(0),
148
        groupNavigation(0),
149
        groupNavigationLayout(0),
150
        GroupPass(0),
151
        GroupPassLayout(0),
152
        GroupSecSet(0),
153
        GroupSecSetLayout(0),
154
        Layout11(0),
155
        Layout11a(0),
156
        Layout13(0),
157
        Layout2(0),
158
        Layout3(0),
159
        Layout4_2(0),
160
        Layout5_2(0),
161
        Layout5_2a(0),
162
        Layout6(0),
163
        LayoutSpecial(0),
164
        LPIcolor(0),
165
        LPIgroup(0),
166
        LPIgroupLayout(0),
167
        OnlySome(0),
168
        pageLayout(0),
169
        pageLayoutLayout(0),
170
        PagePrev(0),
4253 craig 171
        PDFX1(0),
172
        PDFX2(0),
173
        PrintSec2(0),
174
        ProfsGroup(0),
4255 craig 175
        ProfsGroupLayout(0),
4253 craig 176
        ProfsTxt1(0),
177
        ProfsTxt2(0),
178
        ProfsTxt3(0),
179
        ProfsTxt4(0),
180
        RangeGroup(0),
4255 craig 181
        RangeGroupLayout(0),
4253 craig 182
        SubsetFonts(0),
183
        SubsetList(0),
184
        tabColor(0),
4255 craig 185
        tabColorLayout(0),
4253 craig 186
        tabFonts(0),
187
        tabGeneral(0),
4255 craig 188
        tabLayout(0),
189
        tabLayout_3(0),
190
        tabLayout_5(0),
191
        tabOptionsGridLayout(0),
4253 craig 192
        tabPDFX(0),
4255 craig 193
        tabPDFXLayout(0),
4253 craig 194
        tabPresentation(0),
195
        tabSecurity(0),
4255 craig 196
        tabSecurityLayout(0),
4253 craig 197
        tabSpecial(0),
4255 craig 198
        tabSpecialLayout(0),
4253 craig 199
        TextCom1(0),
200
        TextCom2(0),
201
        TextFont1(0),
202
        TextFont1_2(0),
203
        TextFont1_2a(0),
204
        TextLabel1(0),
205
        TextLabel1e(0),
206
        TextLabel1x(0),
207
        TextLabel2(0),
208
        TextLabel2e(0),
209
        TextLabel3(0),
210
        TextLabel3e(0),
211
        TextLabel4e(0),
212
        TextLabel5e(0),
213
        TextLabel6e(0),
214
        textLPI1(0),
215
        textLPI2(0),
216
        textLPI3(0),
217
        TextSec1(0),
218
        TextSec2(0),
219
        ToEmbed(0),
220
        ToSubset(0),
221
        useViewDefault(0),
222
        X3Group(0),
4259 craig 223
        X3GroupLayout(0),
4255 craig 224
        // end protected member gui pointers
4259 craig 225
        // Private members
226
        unit(unitGetSuffixFromIndex(unitIndex)),
227
        precision(unitGetPrecisionFromIndex(unitIndex)),
228
        unitRatio(unitGetRatioFromIndex(unitIndex)),
229
        view(vie),
4260 craig 230
        AllFonts(AllFonts),
4259 craig 231
        Opts(Optionen),
232
        pageH(PageH),
233
        pageB(PageB),
234
        cms(false)
1307 fschmid 235
{
1792 cbradney 236
 
1307 fschmid 237
        tabGeneral = new QWidget( this, "tabGeneral" );
238
        tabLayout = new QVBoxLayout( tabGeneral );
239
        tabLayout->setSpacing( 5 );
1878 cbradney 240
        tabLayout->setMargin( 0 );
1307 fschmid 241
        Layout13 = new QHBoxLayout( 0, 0, 5, "Layout13");
242
        RangeGroup = new QButtonGroup( tabGeneral, "RangeGroup" );
243
        RangeGroup->setTitle( tr( "Export Range" ) );
244
        RangeGroup->setColumnLayout(0, Qt::Vertical );
245
        RangeGroup->layout()->setSpacing( 5 );
246
        RangeGroup->layout()->setMargin( 10 );
247
        RangeGroupLayout = new QVBoxLayout( RangeGroup->layout() );
248
        RangeGroupLayout->setAlignment( Qt::AlignTop );
249
        AllPages = new QRadioButton( tr( "&All Pages" ), RangeGroup, "AllPages" );
5711 subik 250
//      AllPages->setChecked( true );
1307 fschmid 251
        RangeGroupLayout->addWidget( AllPages );
252
        Layout11 = new QGridLayout( 0, 1, 1, 0, 5, "Layout11");
253
        OnlySome = new QRadioButton( tr( "C&hoose Pages" ), RangeGroup, "OnlySome" );
254
        Layout11->addWidget( OnlySome, 0, 0 );
255
        PageNr = new QLineEdit( RangeGroup, "PageNr" );
5711 subik 256
//      PageNr->setEnabled(false);
1307 fschmid 257
        Layout11->addWidget( PageNr, 1, 0 );
258
        RangeGroupLayout->addLayout( Layout11 );
259
        TextLabel3 = new QLabel( tr( "&Rotation:" ), RangeGroup, "TextLabel3" );
260
        RangeGroupLayout->addWidget( TextLabel3 );
261
        RotateDeg = new QComboBox( true, RangeGroup, "RotateDeg" );
262
        RotateDeg->insertItem(QString::fromUtf8("0 °"));
263
        RotateDeg->insertItem(QString::fromUtf8("90 °"));
264
        RotateDeg->insertItem(QString::fromUtf8("180 °"));
265
        RotateDeg->insertItem(QString::fromUtf8("270 °"));
266
        RotateDeg->setEditable(false);
267
        TextLabel3->setBuddy(RotateDeg);
5711 subik 268
//      RotateDeg->setCurrentItem(Opts.RotateDeg / 90);
1307 fschmid 269
        RangeGroupLayout->addWidget( RotateDeg );
270
        Layout11a = new QGridLayout( 0, 1, 1, 0, 5, "Layout11a");
271
        MirrorH = new QToolButton( RangeGroup, "MirrorH" );
272
        MirrorH->setPixmap(loadIcon("FlipH.xpm"));
273
        MirrorH->setToggleButton( true );
5711 subik 274
//      MirrorH->setOn(Opts.MirrorH);
1307 fschmid 275
        Layout11a->addWidget( MirrorH, 0, 0 );
276
        MirrorV = new QToolButton( RangeGroup, "MirrorH" );
277
        MirrorV->setPixmap(loadIcon("FlipV.xpm"));
278
        MirrorV->setToggleButton( true );
5711 subik 279
//      MirrorV->setOn(Opts.MirrorV);
1307 fschmid 280
        Layout11a->addWidget( MirrorV, 0, 1 );
281
        RangeGroupLayout->addLayout( Layout11a );
4649 fschmid 282
        ClipMarg = new QCheckBox( tr( "Clip to Page Margins" ), RangeGroup, "ClipMarg" );
5711 subik 283
//      ClipMarg->setChecked(Opts.doClip);
4649 fschmid 284
        RangeGroupLayout->addWidget( ClipMarg );
1307 fschmid 285
        Layout13->addWidget( RangeGroup );
286
 
287
        GroupBox1 = new QGroupBox( tr( "File Options" ), tabGeneral, "GroupBox1" );
288
        GroupBox1->setColumnLayout(0, Qt::Vertical );
289
        GroupBox1->layout()->setSpacing( 0 );
290
        GroupBox1->layout()->setMargin( 0 );
291
        GroupBox1Layout = new QGridLayout( GroupBox1->layout() );
292
        GroupBox1Layout->setAlignment( Qt::AlignTop );
293
        GroupBox1Layout->setSpacing( 5 );
294
        GroupBox1Layout->setMargin( 10 );
295
        TextLabel1 = new QLabel( tr( "Compatibilit&y:" ), GroupBox1, "TextLabel1" );
296
        TextLabel1->setAlignment( static_cast<int>( QLabel::AlignVCenter | QLabel::AlignLeft ) );
297
        GroupBox1Layout->addWidget( TextLabel1, 0, 0 );
1973 craig 298
        PDFVersionCombo = new QComboBox( true, GroupBox1, "PDFVersionCombo" );
299
        PDFVersionCombo->setEditable(false);
300
        TextLabel1->setBuddy(PDFVersionCombo);
5839 cbradney 301
        PDFVersionCombo->insertItem("PDF 1.3 (Acrobat 4)");
302
        PDFVersionCombo->insertItem("PDF 1.4 (Acrobat 5)");
303
        PDFVersionCombo->insertItem("PDF 1.5 (Acrobat 6)");
1307 fschmid 304
#ifdef HAVE_CMS
4260 craig 305
        if ((CMSuse) && (CMSavail) && (!PDFXProfiles.isEmpty()))
1973 craig 306
                PDFVersionCombo->insertItem("PDF/X-3");
5711 subik 307
/*      if ((CMSuse) && (CMSavail))
1307 fschmid 308
        {
4260 craig 309
                if (Opts.Version == PDFOptions::PDFVersion_X3)
1973 craig 310
                        PDFVersionCombo->setCurrentItem(3);
1307 fschmid 311
        }
312
        else
5711 subik 313
                PDFVersionCombo->setCurrentItem(0);*/
1365 cbradney 314
        cms = CMSuse && CMSavail;
315
#else
316
        cms = false;
1307 fschmid 317
#endif
5711 subik 318
/*      if (Opts.Version == PDFOptions::PDFVersion_13)
1973 craig 319
                PDFVersionCombo->setCurrentItem(0);
4260 craig 320
        if (Opts.Version == PDFOptions::PDFVersion_14)
1973 craig 321
                PDFVersionCombo->setCurrentItem(1);
4260 craig 322
        if (Opts.Version == PDFOptions::PDFVersion_15)
5711 subik 323
                PDFVersionCombo->setCurrentItem(2);*/
2439 cbradney 324
        GroupBox1Layout->addMultiCellWidget( PDFVersionCombo, 0, 0, 1, 2 );
1307 fschmid 325
        TextLabel1x = new QLabel( tr( "&Binding:" ), GroupBox1, "TextLabel1" );
326
        TextLabel1x->setAlignment( static_cast<int>( QLabel::AlignVCenter | QLabel::AlignLeft ) );
327
        GroupBox1Layout->addWidget( TextLabel1x, 1, 0 );
328
        ComboBind = new QComboBox( true, GroupBox1, "ComboBind" );
329
        ComboBind->insertItem( tr("Left Margin"));
330
        ComboBind->insertItem( tr("Right Margin"));
331
        ComboBind->setEditable(false);
5711 subik 332
//      ComboBind->setCurrentItem(Opts.Binding);
1307 fschmid 333
        TextLabel1x->setBuddy(ComboBind);
2439 cbradney 334
        GroupBox1Layout->addMultiCellWidget( ComboBind, 1, 1, 1, 2 );
1307 fschmid 335
        CheckBox1 = new QCheckBox( tr( "Generate &Thumbnails" ), GroupBox1, "CheckBox1" );
5711 subik 336
//      CheckBox1->setChecked(Opts.Thumbnails);
1307 fschmid 337
        GroupBox1Layout->addMultiCellWidget( CheckBox1, 2, 2, 0, 2 );
338
        Article = new QCheckBox( tr( "Save &Linked Text Frames as PDF Articles" ), GroupBox1, "CheckBox1" );
5711 subik 339
//      Article->setChecked(Opts.Articles);
1307 fschmid 340
        GroupBox1Layout->addMultiCellWidget( Article, 3, 3, 0, 2 );
341
        CheckBM = new QCheckBox( tr( "&Include Bookmarks" ), GroupBox1, "E" );
5711 subik 342
//      CheckBM->setChecked(Opts.Bookmarks);
1307 fschmid 343
        GroupBox1Layout->addMultiCellWidget( CheckBM, 4, 4, 0, 2 );
4014 cbradney 344
        useLayers = new QCheckBox( tr( "Include La&yers" ), GroupBox1, "LI" );
5711 subik 345
//      useLayers->setChecked(Opts.useLayers);
1738 fschmid 346
        GroupBox1Layout->addMultiCellWidget( useLayers, 5, 5, 0, 2 );
5711 subik 347
/*      if (Opts.Version == 15)
1738 fschmid 348
                useLayers->setEnabled(true);
349
        else
5711 subik 350
                useLayers->setEnabled(false);*/
1307 fschmid 351
        Resolution = new QSpinBox( GroupBox1, "Resolution" );
352
        Resolution->setMaxValue( 4000 );
353
        Resolution->setMinValue( 35 );
5711 subik 354
//      Resolution->setValue(Opts.Resolution);
1307 fschmid 355
        Resolution->setSuffix( tr( " dpi" ) );
1799 cbradney 356
        TextLabel2 = new QLabel( Resolution, tr( "&Resolution for EPS Graphics:" ), GroupBox1, "TextLabel2" );
1307 fschmid 357
        TextLabel2->setAlignment( static_cast<int>( QLabel::AlignVCenter | QLabel::AlignLeft ) );
1738 fschmid 358
        GroupBox1Layout->addWidget( TextLabel2, 6, 0 );
359
        GroupBox1Layout->addWidget( Resolution, 6, 1, AlignLeft );
1307 fschmid 360
        Layout13->addWidget( GroupBox1 );
361
        tabLayout->addLayout( Layout13 );
362
        Compression = new QCheckBox( tr( "Com&press Text and Vector Graphics" ), tabGeneral, "Compression" );
5711 subik 363
//      Compression->setChecked( Opts.Compress );
1307 fschmid 364
        tabLayout->addWidget( Compression );
4824 mrdocs 365
        CBox = new QGroupBox( tr( "Image Compression Method" ), tabGeneral, "CBox" );
1307 fschmid 366
        CBox->setColumnLayout(0, Qt::Vertical );
367
        CBox->layout()->setSpacing( 5 );
368
        CBox->layout()->setMargin( 11 );
369
        CBoxLayout = new QGridLayout( CBox->layout() );
370
        CBoxLayout->setAlignment( Qt::AlignTop );
371
        CMethod = new QComboBox( true, CBox, "CMethod" );
372
        CMethod->clear();
373
        CMethod->insertItem( tr( "Automatic" ) );
4576 mrdocs 374
        CMethod->insertItem( tr( "Lossy - JPEG" ) );
375
        CMethod->insertItem( tr( "Lossless - Zip" ) );
1307 fschmid 376
        CMethod->insertItem( tr( "None" ) );
377
        CMethod->setEditable(false);
5711 subik 378
//      CMethod->setCurrentItem(Opts.CompressMethod);
4014 cbradney 379
        TextCom1 = new QLabel( CMethod, tr( "Compression Metho&d:" ), CBox, "TextCom1" );
3849 subik 380
        CBoxLayout->addWidget( TextCom1, 0, 0 );
3798 cbradney 381
        CBoxLayout->addWidget( CMethod, 0, 1 );
1307 fschmid 382
        CQuality = new QComboBox( true, CBox, "CQuality" );
383
        CQuality->clear();
384
        CQuality->insertItem( tr( "Maximum" ) );
385
        CQuality->insertItem( tr( "High" ) );
386
        CQuality->insertItem( tr( "Medium" ) );
387
        CQuality->insertItem( tr( "Low" ) );
388
        CQuality->insertItem( tr( "Minimum" ) );
389
        CQuality->setEditable(false);
5711 subik 390
//      CQuality->setCurrentItem(Opts.Quality);
3798 cbradney 391
        TextCom2 = new QLabel( CQuality, tr( "Compression &Quality:" ), CBox, "TextCom2" );
392
        CBoxLayout->addWidget( TextCom2, 1, 0 );
1307 fschmid 393
        CBoxLayout->addWidget( CQuality, 1, 1 );
4014 cbradney 394
        DSColor = new QCheckBox( tr( "Resa&mple Images to:" ), CBox, "DSColor" );
5711 subik 395
//      DSColor->setChecked(Opts.RecalcPic);
1307 fschmid 396
        CBoxLayout->addWidget( DSColor, 2, 0 );
397
        ValC = new QSpinBox( CBox, "ValC" );
398
        ValC->setSuffix( tr( " dpi" ) );
399
        ValC->setMaxValue( 4000 );
400
        ValC->setMinValue( 35 );
5711 subik 401
//      ValC->setValue(Opts.PicRes);
402
//      ValC->setEnabled(DSColor->isChecked() ? true : false);
1307 fschmid 403
        CBoxLayout->addWidget( ValC, 2, 1, AlignLeft );
404
        tabLayout->addWidget( CBox );
405
        insertTab( tabGeneral, tr( "&General" ) );
406
        if (vie != 0)
407
        {
408
                tabFonts = new QWidget( this, "tabFonts" );
409
                tabLayout_3 = new QVBoxLayout( tabFonts );
410
                tabLayout_3->setSpacing( 5 );
411
                tabLayout_3->setMargin( 11 );
412
                EmbedFonts = new QCheckBox( tr( "&Embed all Fonts" ), tabFonts, "EmbedFonts" );
413
                tabLayout_3->addWidget( EmbedFonts );
414
                SubsetFonts = new QCheckBox( tr( "&Subset all Fonts" ), tabFonts, "SubsetFonts" );
415
                tabLayout_3->addWidget( SubsetFonts );
416
                GroupFont = new QGroupBox( tr( "Embedding" ), tabFonts, "GroupFont" );
417
                GroupFont->setColumnLayout(0, Qt::Vertical );
418
                GroupFont->layout()->setSpacing( 0 );
419
                GroupFont->layout()->setMargin( 0 );
420
                GroupFontLayout = new QHBoxLayout( GroupFont->layout() );
421
                GroupFontLayout->setAlignment( Qt::AlignTop );
422
                GroupFontLayout->setSpacing( 5 );
423
                GroupFontLayout->setMargin( 10 );
424
                Layout4_2 = new QVBoxLayout;
425
                Layout4_2->setSpacing( 5 );
426
                Layout4_2->setMargin( 0 );
427
                TextFont1 = new QLabel( tr( "Available Fonts:" ), GroupFont, "TextFont1" );
428
                Layout4_2->addWidget( TextFont1 );
429
                AvailFlist = new QListBox( GroupFont, "AvailFlist" );
5711 subik 430
//              QMap<QString,int>::const_iterator it;
431
//              for (it = DocFonts.constBegin(); it != DocFonts.constEnd(); ++it)
432
//              {
433
//                      if (AllFonts[it.key()]->type() == Foi::TYPE1)
434
//                              AvailFlist->insertItem(loadIcon("font_type1_16.png"), it.key());
435
//                      else if (AllFonts[it.key()]->type() == Foi::TTF)
436
//                              AvailFlist->insertItem(loadIcon("font_truetype16.png"), it.key());
437
//                      else if (AllFonts[it.key()]->type() == Foi::OTF)
438
//                              AvailFlist->insertItem(loadIcon("font_otf16.png"), it.key());
439
//              }
1307 fschmid 440
                AvailFlist->setMinimumSize(QSize(150, 140));
441
                Layout4_2->addWidget( AvailFlist );
442
                GroupFontLayout->addLayout( Layout4_2 );
443
                Layout5_2 = new QVBoxLayout;
444
                Layout5_2->setSpacing( 5 );
445
                Layout5_2->setMargin( 0 );
1321 fschmid 446
                QSpacerItem* spacerS3a = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Minimum );
447
                Layout5_2->addItem( spacerS3a );
1307 fschmid 448
                ToEmbed = new QPushButton( tr( "&>>" ), GroupFont, "ToEmbed" );
5711 subik 449
//              ToEmbed->setEnabled(false);
1307 fschmid 450
                Layout5_2->addWidget( ToEmbed );
451
                FromEmbed = new QPushButton( tr( "&<<" ), GroupFont, "FromEmbed" );
5711 subik 452
//              FromEmbed->setEnabled(false);
1307 fschmid 453
                Layout5_2->addWidget( FromEmbed );
1321 fschmid 454
                QSpacerItem* spacerS3 = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Expanding );
455
                Layout5_2->addItem( spacerS3 );
1307 fschmid 456
                GroupFontLayout->addLayout( Layout5_2 );
457
                Layout6 = new QVBoxLayout;
458
                Layout6->setSpacing( 5 );
459
                Layout6->setMargin( 0 );
460
                TextFont1_2 = new QLabel( tr( "Fonts to embed:" ), GroupFont, "TextFont1_2" );
461
                Layout6->addWidget( TextFont1_2 );
462
                EmbedList = new QListBox( GroupFont, "EmbedList" );
463
                EmbedList->setMinimumSize(QSize(150, 40));
464
                Layout6->addWidget( EmbedList );
3849 subik 465
 
1307 fschmid 466
                Layout5_2a = new QHBoxLayout;
467
                Layout5_2a->setSpacing( 5 );
468
                Layout5_2a->setMargin( 0 );
469
                QSpacerItem* spacerS1 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
470
                Layout5_2a->addItem( spacerS1 );
471
                ToSubset = new QPushButton( "", GroupFont, "ToSubset" );
472
                ToSubset->setPixmap(loadIcon("down.png"));
5711 subik 473
//              ToSubset->setEnabled(false);
1307 fschmid 474
                Layout5_2a->addWidget( ToSubset );
475
                FromSubset = new QPushButton( "", GroupFont, "FromSubset" );
476
                FromSubset->setPixmap(loadIcon("up.png"));
5711 subik 477
//              FromSubset->setEnabled(false);
1307 fschmid 478
                Layout5_2a->addWidget( FromSubset );
479
                QSpacerItem* spacerS2 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
480
                Layout5_2a->addItem( spacerS2 );
481
                Layout6->addLayout( Layout5_2a );
482
                TextFont1_2a = new QLabel( tr( "Fonts to subset:" ), GroupFont, "TextFont1_2a" );
483
                Layout6->addWidget( TextFont1_2a );
484
                SubsetList = new QListBox( GroupFont, "SubsetList" );
485
                SubsetList->setMinimumSize(QSize(150, 40));
486
                Layout6->addWidget( SubsetList );
5711 subik 487
/*              if ((Opts.EmbedList.count() == 0) && (Opts.SubsetList.count() == 0))
1307 fschmid 488
                {
489
                        EmbedFonts->setChecked(true);
490
                        EmbedAll();
491
                }
492
                else
493
                {
4260 craig 494
                        for (uint fe = 0; fe < Opts.EmbedList.count(); ++fe)
1307 fschmid 495
                        {
4260 craig 496
                                EmbedList->insertItem(Opts.EmbedList[fe]);
497
                                FontsToEmbed.append(Opts.EmbedList[fe]);
1307 fschmid 498
                        }
5711 subik 499
                }*/
500
/*              if (Opts.SubsetList.count() != 0)
1307 fschmid 501
                {
4260 craig 502
                        for (uint fe = 0; fe < Opts.SubsetList.count(); ++fe)
1307 fschmid 503
                        {
4260 craig 504
                                SubsetList->insertItem(Opts.SubsetList[fe]);
505
                                FontsToSubset.append(Opts.SubsetList[fe]);
1307 fschmid 506
                        }
5711 subik 507
                }*/
1307 fschmid 508
                GroupFontLayout->addLayout( Layout6 );
509
                tabLayout_3->addWidget( GroupFont );
510
                insertTab( tabFonts, tr( "&Fonts" ) );
511
                tabPresentation = new QWidget( this, "tabPresentation" );
512
                tabLayout_5 = new QGridLayout( tabPresentation );
513
                tabLayout_5->setSpacing( 5 );
514
                tabLayout_5->setMargin( 11 );
515
                CheckBox10 = new QCheckBox( tr( "Enable &Presentation Effects" ), tabPresentation, "CheckBox10" );
5711 subik 516
//              CheckBox10->setChecked(Opts.PresentMode);
1307 fschmid 517
                tabLayout_5->addMultiCellWidget( CheckBox10, 0, 0, 0, 1 );
518
                Pages = new QListBox( tabPresentation, "Pages" );
519
                Pages->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)1, Pages->sizePolicy().hasHeightForWidth() ) );
5711 subik 520
/*              QString tmp;
1307 fschmid 521
                struct PDFPresentationData ef;
522
                if (EffVal.count() != 0)
523
                {
3724 cbradney 524
                        for (uint pg2 = 0; pg2 < view->Doc->Pages->count(); ++pg2)
1307 fschmid 525
                        {
526
                                Pages->insertItem( tr("Page")+" "+tmp.setNum(pg2+1));
527
                                if (EffVal.count()-1 < pg2)
528
                                {
529
                                        ef.pageEffectDuration = 1;
530
                                        ef.pageViewDuration = 1;
531
                                        ef.effectType = 0;
532
                                        ef.Dm = 0;
533
                                        ef.M = 0;
534
                                        ef.Di = 0;
535
                                        EffVal.append(ef);
536
                                }
537
                        }
538
                }
539
                else
540
                {
3724 cbradney 541
                        for (uint pg = 0; pg < view->Doc->Pages->count(); ++pg)
1307 fschmid 542
                        {
543
                                Pages->insertItem( tr("Page")+" "+tmp.setNum(pg+1));
544
                                ef.pageEffectDuration = 1;
545
                                ef.pageViewDuration = 1;
546
                                ef.effectType = 0;
547
                                ef.Dm = 0;
548
                                ef.M = 0;
549
                                ef.Di = 0;
550
                                EffVal.append(ef);
551
                        }
5711 subik 552
                }*/
1307 fschmid 553
                tabLayout_5->addWidget( Pages, 1, 0 );
554
                PagePrev = new QCheckBox( tr( "Show Page Pre&views" ), tabPresentation, "CheckBox10" );
5711 subik 555
//              PagePrev->setChecked(false);
1307 fschmid 556
                tabLayout_5->addWidget( PagePrev, 2, 0 );
557
                Effects = new QGroupBox( tr( "Effects" ), tabPresentation, "Effects" );
558
                Effects->setColumnLayout(0, Qt::Vertical );
559
                Effects->layout()->setSpacing( 0 );
560
                Effects->layout()->setMargin( 0 );
561
                EffectsLayout = new QGridLayout( Effects->layout() );
562
                EffectsLayout->setAlignment( Qt::AlignTop );
563
                EffectsLayout->setSpacing( 5 );
564
                EffectsLayout->setMargin( 11 );
565
                TextLabel1e = new QLabel( tr( "&Display Duration:" ), Effects, "TextLabel1_2" );
566
                EffectsLayout->addWidget( TextLabel1e, 0, 0 );
567
                TextLabel2e = new QLabel( tr( "Effec&t Duration:" ), Effects, "TextLabel2_2" );
568
                EffectsLayout->addWidget( TextLabel2e, 1, 0 );
569
                TextLabel3e = new QLabel( tr( "Effect T&ype:" ), Effects, "TextLabel3_2" );
570
                EffectsLayout->addWidget( TextLabel3e, 2, 0 );
571
                TextLabel4e = new QLabel( tr( "&Moving Lines:" ), Effects, "TextLabel4_2" );
572
                EffectsLayout->addWidget( TextLabel4e, 3, 0 );
573
                TextLabel5e = new QLabel( tr( "F&rom the:" ), Effects, "TextLabel6" );
574
                EffectsLayout->addWidget( TextLabel5e, 4, 0 );
575
                TextLabel6e = new QLabel( tr( "D&irection:" ), Effects, "TextLabel5" );
576
                EffectsLayout->addWidget( TextLabel6e, 5, 0 );
577
                PageTime = new QSpinBox( Effects, "PageTime" );
578
                PageTime->setSuffix( tr( " sec" ) );
579
                PageTime->setMaxValue( 3600 );
4932 fschmid 580
                PageTime->setMinValue( 0 );
5711 subik 581
//              PageTime->setValue(EffVal[0].pageViewDuration);
1307 fschmid 582
                TextLabel1e->setBuddy(PageTime);
583
                EffectsLayout->addWidget( PageTime, 0, 1 );
584
                EffectTime = new QSpinBox( Effects, "EffectTime" );
585
                EffectTime->setSuffix( tr( " sec" ) );
586
                EffectTime->setMaxValue( 3600 );
587
                EffectTime->setMinValue( 1 );
5711 subik 588
//              EffectTime->setValue(EffVal[0].pageEffectDuration);
1307 fschmid 589
                TextLabel2e->setBuddy(EffectTime);
590
                EffectsLayout->addWidget( EffectTime, 1, 1 );
591
                EffectType = new QComboBox( true, Effects, "EffectType" );
592
                QString tmpc[] = { tr("No Effect"), tr("Blinds"), tr("Box"), tr("Dissolve"), tr("Glitter"), tr("Split"), tr("Wipe")};
593
                size_t ar = sizeof(tmpc) / sizeof(*tmpc);
594
                for (uint a = 0; a < ar; ++a)
595
                        EffectType->insertItem(tmpc[a]);
596
                EffectType->setEditable(false);
597
                TextLabel3e->setBuddy(EffectType);
598
                EffectsLayout->addWidget( EffectType, 2, 1 );
599
                EDirection = new QComboBox( true, Effects, "EDirection" );
600
                EDirection->insertItem( tr( "Horizontal" ) );
601
                EDirection->insertItem( tr( "Vertical" ) );
602
                EDirection->setEditable(false);
603
                TextLabel4e->setBuddy(EDirection);
604
                EffectsLayout->addWidget( EDirection, 3, 1 );
605
                EDirection_2 = new QComboBox( true, Effects, "EDirection_2" );
606
                EDirection_2->insertItem( tr( "Inside" ) );
607
                EDirection_2->insertItem( tr( "Outside" ) );
608
                EDirection_2->setEditable(false);
609
                TextLabel5e->setBuddy(EDirection_2);
610
                EffectsLayout->addWidget( EDirection_2, 4, 1 );
611
                EDirection_2_2 = new QComboBox( true, Effects, "EDirection_2_2" );
612
                QString tmp_ed[] = { tr("Left to Right"), tr("Top to Bottom"), tr("Bottom to Top"), tr("Right to Left"),
4197 fschmid 613
                                     tr("Top-left to Bottom-Right")};
1307 fschmid 614
                size_t ar_ed = sizeof(tmp_ed) / sizeof(*tmp_ed);
615
                for (uint a = 0; a < ar_ed; ++a)
616
                        EDirection_2_2->insertItem(tmp_ed[a]);
617
                EDirection_2_2->setEditable(false);
618
                TextLabel6e->setBuddy(EDirection_2_2);
619
                EffectsLayout->addWidget( EDirection_2_2, 5, 1 );
620
                EonAllPg = new QPushButton( tr( "&Apply Effect on all Pages" ), Effects, "Eon" );
621
                EffectsLayout->addMultiCellWidget( EonAllPg, 6, 6, 0, 1 );
622
                tabLayout_5->addMultiCellWidget( Effects, 1, 2, 1, 1 );
623
                insertTab( tabPresentation, tr( "E&xtras" ) );
4197 fschmid 624
 
4260 craig 625
                // XXX Optionen or Opts Changed here
5711 subik 626
/*              if (view->Doc->currentPageLayout == doublePage)
4256 craig 627
                {
628
                        if (view->Doc->pageSets[view->Doc->currentPageLayout].FirstPage == 0)
4260 craig 629
                                Opts.PageLayout = PDFOptions::TwoColumnLeft;
4256 craig 630
                        else
4260 craig 631
                                Opts.PageLayout = PDFOptions::TwoColumnRight;
4256 craig 632
                }
4197 fschmid 633
                else
5711 subik 634
                        Opts.PageLayout = PDFOptions::SinglePage;*/
635
/*              if (Opts.PresentMode)
4260 craig 636
                        Opts.displayFullscreen = true;
4256 craig 637
                else
638
                {
4260 craig 639
                        if ((Opts.Version == 15) && (Opts.useLayers))
640
                                Opts.displayLayers = true;
5711 subik 641
                }*/
4256 craig 642
                tabSpecial = new QWidget( this, "tabSpecial" );
643
                tabSpecialLayout = new QVBoxLayout( tabSpecial, 11, 6, "tabSpecialLayout");
644
                groupDisplay = new QGroupBox( tabSpecial, "groupDisplay" );
645
                groupDisplay->setTitle( tr( "Display Settings" ) );
646
                groupDisplay->setColumnLayout(0, Qt::Vertical );
647
                groupDisplay->layout()->setSpacing( 5 );
648
                groupDisplay->layout()->setMargin( 10 );
649
                groupDisplayLayout = new QVBoxLayout( groupDisplay->layout() );
650
                groupDisplayLayout->setAlignment( Qt::AlignTop );
651
                LayoutSpecial = new QHBoxLayout( 0, 0, 5, "LayoutSpecial");
652
                pageLayout = new QButtonGroup( groupDisplay, "pageLayout" );
653
                pageLayout->setTitle( tr( "Page Layout" ) );
654
                pageLayout->setColumnLayout(0, Qt::Vertical );
655
                pageLayout->layout()->setSpacing( 5 );
656
                pageLayout->layout()->setMargin( 10 );
657
                pageLayoutLayout = new QVBoxLayout( pageLayout->layout() );
658
                pageLayoutLayout->setAlignment( Qt::AlignTop );
659
                singlePage = new QRadioButton( pageLayout, "singlePage" );
660
                singlePage->setText( tr( "Single Page" ) );
661
                pageLayoutLayout->addWidget( singlePage );
662
                continuousPages = new QRadioButton( pageLayout, "continuousPages" );
663
                continuousPages->setText( tr( "Continuous" ) );
664
                pageLayoutLayout->addWidget( continuousPages );
665
                doublePageLeft = new QRadioButton( pageLayout, "doublePageLeft" );
666
                doublePageLeft->setText( tr( "Double Page Left" ) );
667
                pageLayoutLayout->addWidget( doublePageLeft );
668
                doublePageRight = new QRadioButton( pageLayout, "doublePageRight" );
669
                doublePageRight->setText( tr( "Double Page Right" ) );
670
                pageLayoutLayout->addWidget( doublePageRight );
671
                LayoutSpecial->addWidget( pageLayout );
672
                groupNavigation = new QButtonGroup( groupDisplay, "groupNavigation" );
673
                groupNavigation->setTitle( tr( "Visual Appearance" ) );
674
                groupNavigation->setColumnLayout(0, Qt::Vertical );
675
                groupNavigation->layout()->setSpacing( 5 );
676
                groupNavigation->layout()->setMargin( 10 );
677
                groupNavigationLayout = new QVBoxLayout( groupNavigation->layout() );
678
                groupNavigationLayout->setAlignment( Qt::AlignTop );
679
                useViewDefault = new QRadioButton( groupNavigation, "useViewDefault" );
5711 subik 680
/*              bool df = true;
4260 craig 681
                if ((Opts.displayBookmarks) || (Opts.displayFullscreen) || (Opts.displayLayers) || (Opts.displayThumbs))
5711 subik 682
                        df = false;*/
683
//              useViewDefault->setChecked(df);
4256 craig 684
                useViewDefault->setText( tr( "Use Viewers Defaults" ) );
685
                groupNavigationLayout->addWidget( useViewDefault );
686
                useFullScreen = new QRadioButton( groupNavigation, "useFullScreen" );
5711 subik 687
//              useFullScreen->setChecked(Opts.displayFullscreen);
4256 craig 688
                useFullScreen->setText( tr( "Use Full Screen Mode" ) );
689
                groupNavigationLayout->addWidget( useFullScreen );
690
                useBookmarks = new QRadioButton( groupNavigation, "useBookmarks" );
691
                useBookmarks->setText( tr( "Display Bookmarks Tab" ) );
5711 subik 692
//              useBookmarks->setChecked(Opts.displayBookmarks);
4256 craig 693
                groupNavigationLayout->addWidget( useBookmarks );
694
                useThumbnails = new QRadioButton( groupNavigation, "useThumbnails" );
695
                useThumbnails->setText( tr( "Display Thumbnails" ) );
5711 subik 696
//              useThumbnails->setChecked(Opts.displayThumbs);
4256 craig 697
                groupNavigationLayout->addWidget( useThumbnails );
698
                useLayers2 = new QRadioButton( groupNavigation, "useLayers" );
699
                useLayers2->setText( tr( "Display Layers Tab" ) );
5711 subik 700
//              useLayers2->setChecked(Opts.displayLayers);
4256 craig 701
                groupNavigationLayout->addWidget( useLayers2 );
702
                hideToolBar = new QCheckBox( tr( "Hide Viewers Toolbar" ), groupNavigation, "hideToolBar" );
5711 subik 703
//              hideToolBar->setChecked(Opts.hideToolBar);
4256 craig 704
                groupNavigationLayout->addWidget( hideToolBar );
705
                hideMenuBar = new QCheckBox( tr( "Hide Viewers Menubar" ), groupNavigation, "hideMenuBar" );
5711 subik 706
//              hideMenuBar->setChecked(Opts.hideMenuBar);
4256 craig 707
                groupNavigationLayout->addWidget( hideMenuBar );
708
                fitWindow = new QCheckBox( tr( "Zoom Pages to fit Viewer Window" ), groupNavigation, "fitWindow" );
5711 subik 709
//              fitWindow->setChecked(Opts.fitWindow);
4256 craig 710
                groupNavigationLayout->addWidget( fitWindow );
711
                LayoutSpecial->addWidget( groupNavigation );
712
                groupDisplayLayout->addLayout( LayoutSpecial );
713
                tabSpecialLayout->addWidget( groupDisplay );
714
                groupJava = new QGroupBox( tabSpecial, "groupJava" );
715
                groupJava->setTitle( tr( "Special Actions" ) );
716
                groupJava->setColumnLayout(0, Qt::Vertical );
717
                groupJava->layout()->setSpacing( 5 );
718
                groupJava->layout()->setMargin( 10 );
719
                groupJavaLayout = new QHBoxLayout( groupJava->layout() );
720
                groupJavaLayout->setAlignment( Qt::AlignTop );
721
                actionLabel = new QLabel( groupJava, "actionLabel" );
4810 mrdocs 722
                actionLabel->setText( tr( "Javascript to be executed\nwhen PDF document is opened:" ) );
4256 craig 723
                groupJavaLayout->addWidget( actionLabel );
724
                actionCombo = new QComboBox( true, groupJava, "actionCombo" );
725
                actionCombo->setEditable(false);
726
                actionCombo->insertItem( tr("No Script"));
5711 subik 727
/*              QMap<QString,QString>::Iterator itja;
4256 craig 728
                for (itja = view->Doc->JavaScripts.begin(); itja != view->Doc->JavaScripts.end(); ++itja)
729
                        actionCombo->insertItem(itja.key());
4260 craig 730
                if (view->Doc->JavaScripts.contains(Opts.openAction))
5711 subik 731
                        actionCombo->setCurrentText(Opts.openAction);*/
4256 craig 732
                groupJavaLayout->addWidget( actionCombo );
733
                tabSpecialLayout->addWidget( groupJava );
5711 subik 734
/*              if (Opts.PageLayout == PDFOptions::SinglePage)
4256 craig 735
                        singlePage->setChecked(true);
4260 craig 736
                else if (Opts.PageLayout == PDFOptions::OneColumn)
4256 craig 737
                        continuousPages->setChecked(true);
4260 craig 738
                else if (Opts.PageLayout == PDFOptions::TwoColumnLeft)
4256 craig 739
                        doublePageLeft->setChecked(true);
4260 craig 740
                else if (Opts.PageLayout == PDFOptions::TwoColumnRight)
4256 craig 741
                        doublePageRight->setChecked(true);
4260 craig 742
                if (Opts.Version == 15)
4256 craig 743
                        useLayers2->setEnabled(true);
744
                else
5711 subik 745
                        useLayers2->setEnabled(false);*/
4256 craig 746
                insertTab( tabSpecial, tr("Viewer") );
1307 fschmid 747
        }
4197 fschmid 748
 
4256 craig 749
 
1307 fschmid 750
        tabSecurity = new QWidget( this, "tabSecurity" );
751
        tabSecurityLayout = new QVBoxLayout( tabSecurity, 11, 5, "tabSecurityLayout");
752
        Encry = new QCheckBox( tr( "&Use Encryption" ), tabSecurity, "Enc" );
5711 subik 753
//      Encry->setChecked( Opts.Encrypt );
1307 fschmid 754
        tabSecurityLayout->addWidget( Encry );
755
        GroupPass = new QGroupBox( tr( "Passwords" ), tabSecurity, "GroupPass" );
756
        GroupPass->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)1, 0, 0,
757
                                               GroupPass->sizePolicy().hasHeightForWidth() ) );
758
        GroupPass->setColumnLayout(0, Qt::Vertical );
759
        GroupPass->layout()->setSpacing( 5 );
760
        GroupPass->layout()->setMargin( 10 );
761
        GroupPassLayout = new QGridLayout( GroupPass->layout() );
762
        GroupPassLayout->setAlignment( Qt::AlignTop );
763
        TextSec2 = new QLabel( tr( "&User:" ), GroupPass, "TextSec2" );
764
        GroupPassLayout->addWidget( TextSec2, 1, 0 );
765
        TextSec1 = new QLabel( tr( "&Owner:" ), GroupPass, "TextSec1" );
766
        GroupPassLayout->addWidget( TextSec1, 0, 0 );
767
        PassOwner = new QLineEdit( GroupPass, "PassOwner" );
768
        PassOwner->setEchoMode( QLineEdit::Password );
5711 subik 769
//      PassOwner->setText(Opts.PassOwner);
1307 fschmid 770
        TextSec1->setBuddy(PassOwner);
771
        GroupPassLayout->addWidget( PassOwner, 0, 1 );
772
        PassUser = new QLineEdit( GroupPass, "PassUser" );
773
        PassUser->setEchoMode( QLineEdit::Password );
5711 subik 774
//      PassUser->setText(Opts.PassUser);
1307 fschmid 775
        TextSec2->setBuddy(PassUser);
776
        GroupPassLayout->addWidget( PassUser, 1, 1 );
777
        tabSecurityLayout->addWidget( GroupPass );
778
 
779
        GroupSecSet = new QGroupBox( tr( "Settings" ), tabSecurity, "GroupSecSet" );
780
        GroupSecSet->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)7, 0, 0,
781
                                    GroupSecSet->sizePolicy().hasHeightForWidth() ) );
782
        GroupSecSet->setColumnLayout(0, Qt::Vertical );
783
        GroupSecSet->layout()->setSpacing( 5 );
784
        GroupSecSet->layout()->setMargin( 10 );
785
        GroupSecSetLayout = new QVBoxLayout( GroupSecSet->layout() );
786
        GroupSecSetLayout->setAlignment( Qt::AlignTop );
787
        PrintSec = new QCheckBox( tr( "Allow &Printing the Document" ), GroupSecSet, "PrintSec" );
5711 subik 788
//      PrintSec->setChecked( Opts.Permissions & 4 );
1307 fschmid 789
        GroupSecSetLayout->addWidget( PrintSec );
790
        ModifySec = new QCheckBox( tr( "Allow &Changing the Document" ), GroupSecSet, "ModifySec" );
5711 subik 791
//      ModifySec->setChecked( Opts.Permissions & 8 );
1307 fschmid 792
        GroupSecSetLayout->addWidget( ModifySec );
793
        CopySec = new QCheckBox( tr( "Allow Cop&ying Text and Graphics" ), GroupSecSet, "CopySec" );
5711 subik 794
//      CopySec->setChecked( Opts.Permissions & 16 );
1307 fschmid 795
        GroupSecSetLayout->addWidget( CopySec );
796
        AddSec = new QCheckBox( tr( "Allow Adding &Annotations and Fields" ), GroupSecSet, "AddSec" );
5711 subik 797
//      AddSec->setChecked( Opts.Permissions & 32 );
1307 fschmid 798
        GroupSecSetLayout->addWidget( AddSec );
799
        tabSecurityLayout->addWidget( GroupSecSet );
5711 subik 800
/*      if (!Encry->isChecked())
1307 fschmid 801
        {
802
                GroupSecSet->setEnabled(false);
803
                GroupPass->setEnabled(false);
5711 subik 804
        }*/
1307 fschmid 805
        insertTab( tabSecurity, tr( "S&ecurity" ) );
806
 
807
        tabColor = new QWidget( this, "tabColor" );
808
        tabColorLayout = new QVBoxLayout( tabColor, 11, 5, "tabColorLayout");
809
        ColorGroup = new QGroupBox( tr( "General" ), tabColor, "ColorGroup" );
810
        ColorGroup->setColumnLayout(0, Qt::Vertical );
811
        ColorGroup->layout()->setSpacing( 5 );
812
        ColorGroup->layout()->setMargin( 10 );
813
        ColorGroupLayout = new QHBoxLayout( ColorGroup->layout() );
814
        ColorGroupLayout->setAlignment( Qt::AlignTop );
815
        ColorText1 = new QLabel( tr( "Output &Intended For:" ), ColorGroup, "ColorText1" );
816
        ColorGroupLayout->addWidget( ColorText1 );
817
        OutCombo = new QComboBox( true, ColorGroup, "OutCombo" );
818
        OutCombo->insertItem( tr( "Screen / Web" ) );
819
        OutCombo->insertItem( tr( "Printer" ) );
1476 fschmid 820
        OutCombo->insertItem( tr( "Grayscale" ) );
1307 fschmid 821
        OutCombo->setEditable(false);
5711 subik 822
/*      if (Opts.UseRGB)
1476 fschmid 823
                OutCombo->setCurrentItem(0);
824
        else
825
        {
4260 craig 826
                if (Opts.isGrayscale)
1476 fschmid 827
                        OutCombo->setCurrentItem(2);
828
                else
829
                        OutCombo->setCurrentItem(1);
5711 subik 830
        }*/
1307 fschmid 831
        ColorText1->setBuddy(OutCombo);
832
        ColorGroupLayout->addWidget( OutCombo );
833
        tabColorLayout->addWidget( ColorGroup );
834
 
3079 fschmid 835
        useSpot = new QCheckBox( tr( "Convert Spot Colors to Process Colors" ), tabColor, "useSpot" );
5711 subik 836
//      useSpot->setChecked(!Opts.UseSpotColors);
3079 fschmid 837
        tabColorLayout->addWidget( useSpot );
838
 
5320 fschmid 839
        overprintMode = new QCheckBox( tr( "Force Overprint Mode" ), tabColor, "overprintMode" );
5711 subik 840
//      overprintMode->setChecked(Opts.doOverprint);
5320 fschmid 841
        tabColorLayout->addWidget( overprintMode );
842
 
1307 fschmid 843
        UseLPI = new QCheckBox( tr( "&Use Custom Rendering Settings" ), tabColor, "UseLPI" );
5711 subik 844
//      UseLPI->setChecked(Opts.UseLPI);
1307 fschmid 845
        tabColorLayout->addWidget( UseLPI );
846
        LPIgroup = new QGroupBox( tr( "Rendering Settings" ), tabColor, "LPIgroup" );
847
        LPIgroup->setColumnLayout(0, Qt::Vertical );
848
        LPIgroup->layout()->setSpacing( 5 );
849
        LPIgroup->layout()->setMargin( 10 );
850
        LPIgroupLayout = new QGridLayout( LPIgroup->layout() );
851
        LPIgroupLayout->setAlignment( Qt::AlignTop );
852
        LPIcolor = new QComboBox( true, LPIgroup, "LPIcolor" );
853
        LPIcolor->setEditable(false);
5711 subik 854
/*      QMap<QString,LPIData>::Iterator itlp;
4260 craig 855
        for (itlp = Opts.LPISettings.begin(); itlp != Opts.LPISettings.end(); ++itlp)
1307 fschmid 856
        {
857
                LPIcolor->insertItem( itlp.key() );
858
        }
5711 subik 859
        LPIcolor->setCurrentItem(0);*/
1307 fschmid 860
        LPIgroupLayout->addWidget( LPIcolor, 0, 0 );
861
        textLPI1 = new QLabel( tr( "Fre&quency:" ), LPIgroup, "textLPI1" );
862
        LPIgroupLayout->addWidget( textLPI1, 0, 1 );
863
        LPIfreq = new QSpinBox( LPIgroup, "LPIfreq" );
864
        LPIfreq->setMinValue(10);
865
        LPIfreq->setMaxValue(1000);
5711 subik 866
//      LPIfreq->setValue(Opts.LPISettings[LPIcolor->currentText()].Frequency);
1307 fschmid 867
        textLPI1->setBuddy(LPIfreq);
868
        LPIgroupLayout->addWidget( LPIfreq, 0, 2 );
869
        textLPI2 = new QLabel( tr( "&Angle:" ), LPIgroup, "textLPI2" );
870
        LPIgroupLayout->addWidget( textLPI2, 1, 1 );
871
        LPIangle = new QSpinBox( LPIgroup, "LPIangle" );
872
        LPIangle->setSuffix( QString::fromUtf8(" °"));
873
        LPIangle->setMinValue(-180);
874
        LPIangle->setMaxValue(180);
5711 subik 875
//      LPIangle->setValue(Opts.LPISettings[LPIcolor->currentText()].Angle);
1307 fschmid 876
        textLPI2->setBuddy(LPIangle);
877
        LPIgroupLayout->addWidget( LPIangle, 1, 2 );
878
        textLPI3 = new QLabel( tr( "S&pot Function:" ), LPIgroup, "textLPI3" );
879
        LPIgroupLayout->addWidget( textLPI3, 2, 1 );
880
        LPIfunc = new QComboBox( true, LPIgroup, "LPIfunc" );
881
        LPIfunc->setEditable(false);
882
        LPIfunc->insertItem( tr( "Simple Dot" ) );
883
        LPIfunc->insertItem( tr( "Line" ) );
884
        LPIfunc->insertItem( tr( "Round" ) );
885
        LPIfunc->insertItem( tr( "Ellipse" ) );
5711 subik 886
//      LPIfunc->setCurrentItem(Opts.LPISettings[LPIcolor->currentText()].SpotFunc);
1307 fschmid 887
        textLPI3->setBuddy(LPIfunc);
888
        LPIgroupLayout->addWidget( LPIfunc, 2, 2 );
889
        tabColorLayout->addWidget( LPIgroup );
890
        SelLPIcolor = LPIcolor->currentText();
891
 
892
        GroupBox9 = new QGroupBox( tr( "Solid Colors:" ), tabColor, "GroupBox9" );
893
        GroupBox9->setColumnLayout(0, Qt::Vertical );
894
        GroupBox9->layout()->setSpacing( 5 );
895
        GroupBox9->layout()->setMargin( 10 );
896
        GroupBox9Layout = new QGridLayout( GroupBox9->layout() );
897
        GroupBox9Layout->setAlignment( Qt::AlignTop );
898
        EmbedProfs = new QCheckBox( GroupBox9, "EmbedProfs" );
899
        EmbedProfs->setText( tr( "Use ICC Profile" ) );
5711 subik 900
//      EmbedProfs->setChecked(Opts.UseProfiles);
1307 fschmid 901
        GroupBox9Layout->addMultiCellWidget( EmbedProfs, 0, 0, 0, 1 );
902
        ProfsTxt1 = new QLabel(GroupBox9, "ProfsTxt1");
903
        ProfsTxt1->setText( tr( "Profile:" ) );
904
        GroupBox9Layout->addWidget( ProfsTxt1, 1, 0 );
905
        ProfsTxt2 = new QLabel( GroupBox9, "ProfsTxt2_2" );
906
        ProfsTxt2->setText( tr( "Rendering-Intent:" ) );
907
        GroupBox9Layout->addWidget( ProfsTxt2, 1, 1 );
908
        SolidPr = new QComboBox(true, GroupBox9, "SolidPr" );
909
        SolidPr->setEditable(false);
910
        GroupBox9Layout->addWidget( SolidPr, 2, 0 );
911
        IntendS = new QComboBox( true, GroupBox9, "IntendS" );
912
        QString tmp_ip[] = { tr("Perceptual"), tr("Relative Colorimetric"), tr("Saturation"), tr("Absolute Colorimetric")};
913
        size_t ar_ip = sizeof(tmp_ip) / sizeof(*tmp_ip);
914
        for (uint a = 0; a < ar_ip; ++a)
915
                IntendS->insertItem(tmp_ip[a]);
916
        IntendS->setEditable(false);
917
        GroupBox9Layout->addWidget( IntendS, 2, 1 );
918
        tabColorLayout->addWidget( GroupBox9 );
919
        ProfsGroup = new QGroupBox( tr( "Images:" ), tabColor, "ProfsGroup" );
920
        ProfsGroup->setColumnLayout(0, Qt::Vertical );
921
        ProfsGroup->layout()->setSpacing( 5 );
922
        ProfsGroup->layout()->setMargin( 10 );
923
        ProfsGroupLayout = new QGridLayout( ProfsGroup->layout() );
924
        ProfsGroupLayout->setAlignment( Qt::AlignTop );
925
        EmbedProfs2 = new QCheckBox( tr( "Use ICC Profile" ), ProfsGroup, "EmbedProfs" );
5711 subik 926
//      EmbedProfs2->setChecked(Opts.UseProfiles2);
1307 fschmid 927
        ProfsGroupLayout->addMultiCellWidget( EmbedProfs2, 0, 0, 0, 1 );
928
        NoEmbedded = new QCheckBox( ProfsGroup, "NoEmbedded" );
929
        NoEmbedded->setText( tr( "Don't use embedded ICC profiles" ) );
5711 subik 930
//      NoEmbedded->setChecked(Opts.EmbeddedI);
1307 fschmid 931
        ProfsGroupLayout->addMultiCellWidget( NoEmbedded, 1, 1, 0, 1 );
932
        ProfsTxt3 = new QLabel( ProfsGroup, "ProfsTxt3" );
933
        ProfsTxt3->setText( tr( "Profile:" ) );
934
        ProfsGroupLayout->addWidget( ProfsTxt3, 2, 0 );
935
        ProfsTxt4 = new QLabel( ProfsGroup, "ProfsTxt2_2" );
936
        ProfsTxt4->setText( tr( "Rendering-Intent:" ) );
937
        ProfsGroupLayout->addWidget( ProfsTxt4, 2, 1 );
938
        ImageP = new QComboBox( true, ProfsGroup, "ImageP" );
939
        ImageP->setEditable(false);
940
        ProfsGroupLayout->addWidget( ImageP, 3, 0 );
941
        IntendI = new QComboBox( true, ProfsGroup, "IntendS" );
942
        for (uint a = 0; a < ar_ip; ++a)
943
                IntendI->insertItem(tmp_ip[a]);
944
        IntendI->setEditable(false);
945
        ProfsGroupLayout->addWidget( IntendI, 3, 1 );
946
        tabColorLayout->addWidget( ProfsGroup );
5711 subik 947
/*      if ((Opts.UseRGB) || (Opts.isGrayscale))
1307 fschmid 948
        {
949
                ProfsGroup->setEnabled(false);
950
                GroupBox9->setEnabled(false);
1476 fschmid 951
                EnablePr(0);
1307 fschmid 952
        }
1476 fschmid 953
        else
5711 subik 954
                EnablePr(1);*/
955
//      EnablePG();
956
//      EnablePGI();
957
// #ifdef HAVE_CMS
1307 fschmid 958
 
5711 subik 959
/*      QString tp = Opts.SolidProf;
5243 cbradney 960
        if (!ScCore->InputProfiles.contains(tp))
1307 fschmid 961
        {
962
                if (vie != 0)
5345 mrdocs 963
                        tp = vie->Doc->CMSSettings.DefaultSolidColorRGBProfile;
1307 fschmid 964
                else
5345 mrdocs 965
                        tp = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorRGBProfile;
5711 subik 966
        }*/
967
/*      ProfilesL::Iterator itp;
5243 cbradney 968
        ProfilesL::Iterator itpend=ScCore->InputProfiles.end();
969
        for (itp = ScCore->InputProfiles.begin(); itp != itpend; ++itp)
1307 fschmid 970
        {
971
                SolidPr->insertItem(itp.key());
972
                if (itp.key() == tp)
973
                {
974
                        if ((CMSuse) && (CMSavail))
975
                                SolidPr->setCurrentItem(SolidPr->count()-1);
976
                }
5711 subik 977
        }*/
978
/*      if ((CMSuse) && (CMSavail))
979
                IntendS->setCurrentItem(Opts.Intent);*/
980
/*      QString tp1 = Opts.ImageProf;
5243 cbradney 981
        if (!ScCore->InputProfiles.contains(tp1))
1307 fschmid 982
        {
983
                if (vie != 0)
5345 mrdocs 984
                        tp1 = vie->Doc->CMSSettings.DefaultSolidColorRGBProfile;
1307 fschmid 985
                else
5345 mrdocs 986
                        tp1 = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorRGBProfile;
1307 fschmid 987
        }
2891 cbradney 988
        ProfilesL::Iterator itp2;
5243 cbradney 989
        ProfilesL::Iterator itp2end=ScCore->InputProfiles.end();
990
        for (itp2 = ScCore->InputProfiles.begin(); itp2 != itp2end; ++itp2)
1307 fschmid 991
        {
992
                ImageP->insertItem(itp2.key());
993
                if (itp2.key() == tp1)
994
                {
995
                        if ((CMSuse) && (CMSavail))
996
                                ImageP->setCurrentItem(ImageP->count()-1);
997
                }
998
        }
999
        if ((CMSuse) && (CMSavail))
4260 craig 1000
                IntendI->setCurrentItem(Opts.Intent2);
1307 fschmid 1001
        if ((!CMSuse) || (!CMSavail))
1002
        {
1003
                GroupBox9->hide();
1004
                ProfsGroup->hide();
5711 subik 1005
        }*/
1006
// #else
1007
//      GroupBox9->hide();
1008
//      ProfsGroup->hide();
1009
// #endif
1307 fschmid 1010
 
1011
        QSpacerItem* spacerCG = new QSpacerItem( 0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding );
1012
        tabColorLayout->addItem( spacerCG );
1013
        insertTab( tabColor, tr( "C&olor" ) );
1014
 
1015
        tabPDFX = new QWidget( this, "tabPDFX" );
1016
        tabPDFXLayout = new QVBoxLayout( tabPDFX, 11, 5, "tabPDFXLayout");
1017
        X3Group = new QGroupBox( tabPDFX, "X3Group" );
1018
        X3Group->setTitle( tr( "PDF/X-3 Output Intent" ) );
1019
        X3Group->setColumnLayout(0, Qt::Vertical );
1020
        X3Group->layout()->setSpacing( 5 );
1021
        X3Group->layout()->setMargin( 10 );
1022
        X3GroupLayout = new QGridLayout( X3Group->layout() );
1023
        X3GroupLayout->setAlignment( Qt::AlignTop );
1024
        PrintProfC = new QComboBox( true, X3Group, "PrintProfC" );
1025
        PrintProfC->setEditable(false);
5711 subik 1026
// #ifdef HAVE_CMS
1027
// 
1028
//      ProfilesL::const_iterator itp3;
1029
//      QString tp3 = Opts.PrintProf;
1030
//      if (!PDFXProfiles.contains(tp3))
1031
//      {
1032
//              if (vie != 0)
1033
//                      tp3 = vie->Doc->CMSSettings.DefaultPrinterProfile;
1034
//              else
1035
//                      tp3 = PrefsManager::instance()->appPrefs.DCMSset.DefaultPrinterProfile;
1036
//      }
1037
//      for (itp3 = PDFXProfiles.constBegin(); itp3 != PDFXProfiles.constEnd(); ++itp3)
1038
//      {
1039
//              PrintProfC->insertItem(itp3.key());
1040
//              if (itp3.key() == tp3)
1041
//                      PrintProfC->setCurrentItem(PrintProfC->count()-1);
1042
//      }
1043
// #endif
1307 fschmid 1044
        X3GroupLayout->addWidget( PrintProfC, 0, 1 );
1045
        InfoString = new QLineEdit( X3Group, "InfoString" );
5711 subik 1046
//      InfoString->setText(Opts.Info);
1307 fschmid 1047
        X3GroupLayout->addWidget( InfoString, 1, 1 );
1048
        PDFX2 = new QLabel( InfoString, tr( "&Info String:" ), X3Group, "PDFX2" );
1049
        X3GroupLayout->addWidget( PDFX2, 1, 0 );
1050
        PDFX1 = new QLabel( PrintProfC, tr( "Output &Profile:" ), X3Group, "PDFX1" );
1051
        X3GroupLayout->addWidget( PDFX1, 0, 0 );
1052
        tabPDFXLayout->addWidget( X3Group );
1053
        BleedGroup = new QGroupBox( tabPDFX, "BleedGroup" );
1054
        BleedGroup->setTitle( tr( "Trim Box" ) );
1055
        BleedGroup->setColumnLayout(0, Qt::Vertical );
1056
        BleedGroup->layout()->setSpacing( 5 );
1057
        BleedGroup->layout()->setMargin( 11 );
1058
        BleedGroupLayout = new QGridLayout( BleedGroup->layout() );
1059
        BleedGroupLayout->setAlignment( Qt::AlignTop );
1060
        BleedIcon = new QLabel( BleedGroup, "BleedIcon" );
1061
        BleedIcon->setMinimumSize( QSize( 74, 84 ) );
1062
        BleedIcon->setMaximumSize( QSize( 74, 84 ) );
1063
        BleedIcon->setFrameShape( QLabel::Panel );
1064
        BleedIcon->setFrameShadow( QLabel::Sunken );
1065
        BleedIcon->setScaledContents( false );
1066
        BleedIcon->setAlignment( static_cast<int>( QLabel::AlignCenter ) );
1067
        BleedGroupLayout->addWidget( BleedIcon, 1, 2 );
1792 cbradney 1068
        BleedTop = new MSpinBox( BleedGroup, precision );
1307 fschmid 1069
        BleedGroupLayout->addWidget( BleedTop, 0, 2 );
1792 cbradney 1070
        BleedBottom = new MSpinBox( BleedGroup, precision );
1307 fschmid 1071
        BleedGroupLayout->addWidget( BleedBottom, 2, 2 );
1792 cbradney 1072
        BleedRight = new MSpinBox( BleedGroup, precision );
1307 fschmid 1073
        BleedGroupLayout->addWidget( BleedRight, 1, 3 );
1792 cbradney 1074
        BleedLeft = new MSpinBox( BleedGroup, precision );
1307 fschmid 1075
        BleedGroupLayout->addWidget( BleedLeft, 1, 1 );
1076
        QSpacerItem* spacerPX = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
1077
        BleedGroupLayout->addItem( spacerPX, 1, 0 );
1078
        QSpacerItem* spacerPX2 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
1079
        BleedGroupLayout->addItem( spacerPX2, 1, 4 );
1080
        tabPDFXLayout->addWidget( BleedGroup );
1081
        insertTab( tabPDFX, tr( "PDF/X-&3" ) );
1082
        BleedTop->setSuffix( unit );
1083
        BleedTop->setMinValue(0);
1792 cbradney 1084
        BleedTop->setMaxValue(PageH*unitRatio);
5711 subik 1085
//      BleedTop->setValue(Opts.BleedTop*unitRatio);
1307 fschmid 1086
        BleedBottom->setSuffix( unit );
1087
        BleedBottom->setMinValue(0);
1792 cbradney 1088
        BleedBottom->setMaxValue(PageH*unitRatio);
5711 subik 1089
//      BleedBottom->setValue(Opts.BleedBottom*unitRatio);
1307 fschmid 1090
        BleedRight->setSuffix( unit );
1091
        BleedRight->setMinValue(0);
1792 cbradney 1092
        BleedRight->setMaxValue(PageB*unitRatio);
5711 subik 1093
//      BleedRight->setValue(Opts.BleedRight*unitRatio);
1307 fschmid 1094
        BleedLeft->setSuffix( unit );
1095
        BleedLeft->setMinValue(0);
1792 cbradney 1096
        BleedLeft->setMaxValue(PageB*unitRatio);
5711 subik 1097
//      BleedLeft->setValue(Opts.BleedLeft*unitRatio);
1098
// #ifdef HAVE_CMS
1099
//      if ((!CMSuse) || (!CMSavail))
1100
//              setTabEnabled(tabPDFX, false);
1101
//      if ((CMSuse) && (CMSavail) && (Opts.Version == 12) && (!PDFXProfiles.isEmpty()))
1102
//              EnablePDFX(3);
1103
//      else
1104
//              setTabEnabled(tabPDFX, false);
1105
// #else
1106
//      setTabEnabled(tabPDFX, false);
1107
// #endif
1108
//      BleedChanged();
1109
 
5770 jghali 1110
        restoreDefaults(Optionen, AllFonts, PDFXProfiles, DocFonts,
1111
                                        Eff, unitIndex, PageH, PageB, vie);
5711 subik 1112
 
1307 fschmid 1113
        if (vie != 0)
1114
        {
5711 subik 1115
//              PgSel = 0;
1116
//              Pages->setCurrentItem(0);
1117
//              SetEffOpts(0);
1118
//              Pages->setEnabled(false);
1119
//              Effects->setEnabled(false);
1120
//              PagePrev->setEnabled(false);
1121
//              DoEffects();
1122
//              if (CheckBox10->isChecked())
1123
//              {
1124
//                      PageTime->setValue(EffVal[0].pageViewDuration);
1125
//                      EffectTime->setValue(EffVal[0].pageEffectDuration);
1126
//                      EffectType->setCurrentItem(EffVal[0].effectType);
1127
//                      EDirection->setCurrentItem(EffVal[0].Dm);
1128
//                      EDirection_2->setCurrentItem(EffVal[0].M);
1129
//                      EDirection_2_2->setCurrentItem(EffVal[0].Di);
1130
//                      SetEffOpts(EffectType->currentItem());
1131
//              }
1307 fschmid 1132
                connect(EmbedFonts, SIGNAL(clicked()), this, SLOT(EmbedAll()));
1133
                connect(AvailFlist, SIGNAL(clicked(QListBoxItem*)), this, SLOT(SelAFont(QListBoxItem*)));
1134
                connect(EmbedList, SIGNAL(clicked(QListBoxItem*)), this, SLOT(SelEFont(QListBoxItem*)));
1135
                connect(ToEmbed, SIGNAL(clicked()), this, SLOT(PutToEmbed()));
1136
                connect(FromEmbed, SIGNAL(clicked()), this, SLOT(RemoveEmbed()));
1137
                connect(SubsetFonts, SIGNAL(clicked()), this, SLOT(SubsetAll()));
1138
                connect(SubsetList, SIGNAL(clicked(QListBoxItem*)), this, SLOT(SelSFont(QListBoxItem*)));
1139
                connect(ToSubset, SIGNAL(clicked()), this, SLOT(PutToSubset()));
1140
                connect(FromSubset, SIGNAL(clicked()), this, SLOT(RemoveSubset()));
1141
                connect(PagePrev, SIGNAL(clicked()), this, SLOT(PagePr()));
1142
                connect(Pages, SIGNAL(highlighted(int)), this, SLOT(SetPgEff(int)));
1143
                connect(EffectType, SIGNAL(activated(int)), this, SLOT(SetEffOpts(int)));
1144
                connect(EDirection_2_2, SIGNAL(activated(int)), this, SLOT(ValidDI(int)));
1145
                connect(CheckBox10, SIGNAL(clicked()), this, SLOT(DoEffects()));
1146
                connect(EonAllPg, SIGNAL(clicked()), this, SLOT(EffectOnAll()));
3388 fschmid 1147
                connect(InfoString, SIGNAL(textChanged(const QString &)), this, SLOT(checkInfo()));
1148
                connect(InfoString, SIGNAL(returnPressed()), this, SLOT(checkInfo()));
1149
                connect(InfoString, SIGNAL(lostFocus()), this, SLOT(checkInfo()));
3849 subik 1150
                QToolTip::add( EmbedFonts, "<qt>" + tr( "Embed fonts into the PDF. Embedding the fonts will preserve the layout and appearance of your document." ) + "</qt>");
4824 mrdocs 1151
                QToolTip::add( CheckBox10, "<qt>" + tr( "Enables presentation effects when using Adobe&#174; Reader&#174; and other PDF viewers which support this in full screen mode." ) + "</qt>");
3849 subik 1152
                QToolTip::add( PagePrev, "<qt>" + tr( "Show page previews of each page listed above." ) + "</qt>");
4964 cbradney 1153
                QToolTip::add( PageTime, "<qt>" + tr( "Length of time the page is shown before the presentation starts on the selected page. Setting 0 will disable automatic page transition." ) + "</qt>" );
3849 subik 1154
                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>" );
1155
                QToolTip::add( EffectType, "<qt>" + tr( "Type of the display effect." ) + "</qt>" );
1156
                QToolTip::add( EDirection, "<qt>" + tr( "Direction of the effect of moving lines for the split and blind effects." ) + "</qt>" );
1157
                QToolTip::add( EDirection_2, "<qt>" + tr( "Starting position for the box and split effects." ) + "</qt>" );
1158
                QToolTip::add( EDirection_2_2, "<qt>" + tr( "Direction of the glitter or wipe effects." ) + "</qt>" );
1159
                QToolTip::add( EonAllPg, "<qt>" + tr( "Apply the selected effect to all pages." ) + "</qt>" );
1307 fschmid 1160
        }
1161
        connect(AllPages, SIGNAL(toggled(bool)), this, SLOT(SelRange(bool)));
1162
        connect(DSColor, SIGNAL(clicked()), this, SLOT(DoDownsample()));
1163
        connect(MirrorH, SIGNAL(clicked()), this, SLOT(PDFMirror()));
1164
        connect(MirrorV, SIGNAL(clicked()), this, SLOT(PDFMirror()));
1165
        connect(RotateDeg, SIGNAL(activated(int)), this, SLOT(Rotation(int)));
1166
        connect(OutCombo, SIGNAL(activated(int)), this, SLOT(EnablePr(int)));
1167
        connect(EmbedProfs, SIGNAL(clicked()), this, SLOT(EnablePG()));
1168
        connect(EmbedProfs2, SIGNAL(clicked()), this, SLOT(EnablePGI()));
1169
        connect(NoEmbedded, SIGNAL(clicked()), this, SLOT(EnablePGI2()));
1973 craig 1170
        connect(PDFVersionCombo, SIGNAL(activated(int)), this, SLOT(EnablePDFX(int)));
1307 fschmid 1171
        connect(BleedTop, SIGNAL(valueChanged(int)), this, SLOT(BleedChanged()));
1172
        connect(BleedBottom, SIGNAL(valueChanged(int)), this, SLOT(BleedChanged()));
1173
        connect(BleedLeft, SIGNAL(valueChanged(int)), this, SLOT(BleedChanged()));
1174
        connect(BleedRight, SIGNAL(valueChanged(int)), this, SLOT(BleedChanged()));
1175
        connect(Encry, SIGNAL(clicked()), this, SLOT(ToggleEncr()));
1176
        connect(UseLPI, SIGNAL(clicked()), this, SLOT(EnableLPI2()));
1177
        connect(LPIcolor, SIGNAL(activated(int)), this, SLOT(SelLPIcol(int)));
1178
        //tooltips
3849 subik 1179
        QToolTip::add( AllPages, "<qt>" + tr( "Export all pages to PDF" ) + "</qt>" );
1180
        QToolTip::add( OnlySome, "<qt>" + tr( "Export a range of pages to PDF" ) );
1181
        QToolTip::add( PageNr, "<qt>" + tr( "Insert a comma separated list of tokens where "
4197 fschmid 1182
                                                    "a token can be * for all the pages, 1-5 for "
1183
                                                    "a range of pages or a single page number.") + "</qt>" );
1307 fschmid 1184
 
5839 cbradney 1185
        QToolTip::add( PDFVersionCombo, "<qt>" + tr( "Determines the PDF compatibility.<br/>The default is <b>PDF 1.3</b> which gives the widest compatibility.<br/>Choose <b>PDF 1.4</b> if your file uses features such as transparency or you require 128 bit encryption.<br/><b>PDF 1.5</b> is necessary when you wish to preserve objects in separate layers within the PDF.<br/><b>PDF/X-3</b> 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 1186
        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>" );
1187
        QToolTip::add( CheckBox1, "<qt>" + tr( "Generates thumbnails of each page in the PDF. Some viewers can use the thumbnails for navigation." ) + "</qt>" );
1188
        QToolTip::add( Article, "<qt>" + tr( "Generate PDF Articles, which is useful for navigating linked articles in a PDF." ) + "</qt>" );
4810 mrdocs 1189
        QToolTip::add( useLayers, "<qt>" + tr( "Layers in your document are exported to the PDF Only available if PDF 1.5 is chosen." ) + "</qt>" );
3849 subik 1190
        QToolTip::add( CheckBM, "<qt>" + tr( "Embed the bookmarks you created in your document. These are useful for navigating long PDF documents." ) + "</qt>" );
1191
        QToolTip::add( Resolution, "<qt>" + tr( "Export resolution of text and vector graphics. This does not affect the resolution of bitmap images like photos." ) + "</qt>" );
1192
        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>" );
4824 mrdocs 1193
        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. This only affects JPEG images" ) + "</qt>");
3671 craig 1194
        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>");
4824 mrdocs 1195
        QToolTip::add( DSColor, "<qt>" + tr( "Re-sample your bitmap images to the selected DPI. Leaving this unchecked will render them at their native resolution. Enabling this will increase memory usage and slow down export." ) + "</qt>" );
3849 subik 1196
        QToolTip::add( ValC, "<qt>" + tr( "DPI (Dots Per Inch) for image export.") + "</qt>" );
1197
        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>" );
1198
        QToolTip::add( PassOwner, "<qt>" + tr( "Choose a master password which enables or disables all the security features in your exported PDF" ) + "</qt>" );
1199
        QToolTip::add( PassUser, "<qt>" + tr( "Choose a password for users to be able to read your PDF." ) + "</qt>" );
1200
        QToolTip::add( PrintSec, "<qt>" + tr( "Allow printing of the PDF. If un-checked, printing is prevented. " ) + "</qt>" );
1201
        QToolTip::add( ModifySec, "<qt>" + tr( "Allow modifying of the PDF. If un-checked, modifying the PDF is prevented." ) + "</qt>" );
3798 cbradney 1202
        QToolTip::add( CopySec, "<qt>" + tr( "Allow copying of text or graphics from the PDF. If unchecked, text and graphics cannot be copied." ) + "</qt>" );
1203
        QToolTip::add( AddSec, "<qt>" + tr( "Allow adding annotations and fields to the PDF. If unchecked, editing annotations and fields is prevented." ) + "</qt>" );
4810 mrdocs 1204
        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. Choose Grayscale when you want a grey scale PDF." ) + "</qt>" );
3849 subik 1205
        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>" );
1206
        QToolTip::add( EmbedProfs, "<qt>" + tr( "Embed a color profile for solid colors" ) + "</qt>" );
1207
        QToolTip::add( SolidPr, "<qt>" + tr( "Color profile for solid colors" ) + "</qt>" );
1208
        QToolTip::add( IntendS, "<qt>" + tr( "Rendering intent for solid colors" ) + "</qt>" );
1209
        QToolTip::add( EmbedProfs2, "<qt>" + tr( "Embed a color profile for images" ) + "</qt>" );
1210
        QToolTip::add( NoEmbedded, "<qt>" + tr( "Do not use color profiles that are embedded in source images" ) + "</qt>" );
1211
        QToolTip::add( ImageP, "<qt>" + tr( "Color profile for images" ) + "</qt>" );
1212
        QToolTip::add( IntendI, "<qt>" + tr( "Rendering intent for images" ) + "</qt>" );
1213
        QToolTip::add( PrintProfC, "<qt>" + tr( "Output profile for printing. If possible, get some guidance from your printer on profile selection." ) + "</qt>" );
1214
        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>" );
1215
        QToolTip::add( BleedTop, "<qt>" + tr( "Distance for bleed from the top of the physical page" ) + "</qt>" );
1216
        QToolTip::add( BleedBottom, "<qt>" + tr( "Distance for bleed from the bottom of the physical page" ) + "</qt>" );
1217
        QToolTip::add( BleedLeft, "<qt>" + tr( "Distance for bleed from the left of the physical page" ) + "</qt>" );
1218
        QToolTip::add( BleedRight, "<qt>" + tr( "Distance for bleed from the right of the physical page" )  + "</qt>");
1219
        QToolTip::add( MirrorH, "<qt>" + tr( "Mirror Page(s) horizontally" ) + "</qt>" );
1220
        QToolTip::add( MirrorV, "<qt>" + tr( "Mirror Page(s) vertically" ) + "</qt>" );
5320 fschmid 1221
        QToolTip::add(overprintMode, "<qt>"+ tr("Enables global Overprint Mode for this document, overrides object settings") + "<qt>");
4197 fschmid 1222
        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>");
4836 cbradney 1223
        QToolTip::add( ClipMarg, "<qt>" + tr( "Do not show objects outside the margins in the exported file" ) + "</qt>" );
1307 fschmid 1224
}
1225
 
5553 subik 1226
void TabPDFOptions::restoreDefaults(PDFOptions & Optionen,
1227
                                                                        const SCFonts &AllFonts,
1228
                                                                        const ProfilesL & PDFXProfiles,
1229
                                                                        const QMap<QString, int> & DocFonts,
1230
                                                                        const QValueList<PDFPresentationData> & Eff,
1231
                                                                        int unitIndex, double PageH, double PageB,
1232
                                                                        ScribusView * vie)
1233
{
1234
        AllPages->setChecked( true );
1235
        PageNr->setEnabled(false);
1236
        RotateDeg->setCurrentItem(Opts.RotateDeg / 90);
1237
        MirrorH->setOn(Opts.MirrorH);
1238
        MirrorV->setOn(Opts.MirrorV);
1239
        ClipMarg->setChecked(Opts.doClip);
1240
#ifdef HAVE_CMS
1241
        if ((CMSuse) && (CMSavail))
1242
        {
1243
                if (Opts.Version == PDFOptions::PDFVersion_X3)
1244
                        PDFVersionCombo->setCurrentItem(3);
1245
        }
1246
        else
1247
                PDFVersionCombo->setCurrentItem(0);
1248
#endif
1249
        if (Opts.Version == PDFOptions::PDFVersion_13)
1250
                PDFVersionCombo->setCurrentItem(0);
1251
        if (Opts.Version == PDFOptions::PDFVersion_14)
1252
                PDFVersionCombo->setCurrentItem(1);
1253
        if (Opts.Version == PDFOptions::PDFVersion_15)
1254
                PDFVersionCombo->setCurrentItem(2);
1255
        ComboBind->setCurrentItem(Opts.Binding);
1256
        CheckBox1->setChecked(Opts.Thumbnails);
1257
        Article->setChecked(Opts.Articles);
1258
        CheckBM->setChecked(Opts.Bookmarks);
1259
        useLayers->setChecked(Opts.useLayers);
1260
        if (Opts.Version == 15)
1261
                useLayers->setEnabled(true);
1262
        else
1263
                useLayers->setEnabled(false);
1264
        Resolution->setValue(Opts.Resolution);
1265
        Compression->setChecked( Opts.Compress );
1266
        CMethod->setCurrentItem(Opts.CompressMethod);
1267
        CQuality->setCurrentItem(Opts.Quality);
1268
        DSColor->setChecked(Opts.RecalcPic);
1269
        ValC->setValue(Opts.PicRes);
1270
        ValC->setEnabled(DSColor->isChecked() ? true : false);
1271
        if (vie != 0)
1272
        {
1273
                QMap<QString,int>::const_iterator it;
1274
                AvailFlist->clear();
1275
                for (it = DocFonts.constBegin(); it != DocFonts.constEnd(); ++it)
1276
                {
1277
                        if (AllFonts[it.key()]->type() == Foi::TYPE1)
1278
                                AvailFlist->insertItem(loadIcon("font_type1_16.png"), it.key());
1279
                        else if (AllFonts[it.key()]->type() == Foi::TTF)
1280
                                AvailFlist->insertItem(loadIcon("font_truetype16.png"), it.key());
1281
                        else if (AllFonts[it.key()]->type() == Foi::OTF)
1282
                                AvailFlist->insertItem(loadIcon("font_otf16.png"), it.key());
1283
                }
1284
                ToEmbed->setEnabled(false);
1285
                FromEmbed->setEnabled(false);
1286
                ToSubset->setEnabled(false);
1287
                FromSubset->setEnabled(false);
1288
                if ((Opts.EmbedList.count() == 0) && (Opts.SubsetList.count() == 0))
1289
                {
1290
                        EmbedFonts->setChecked(true);
1291
                        EmbedAll();
1292
                }
1293
                else
1294
                {
1295
                        EmbedList->clear();
1296
                        FontsToEmbed.clear();
1297
                        for (uint fe = 0; fe < Opts.EmbedList.count(); ++fe)
1298
                        {
1299
                                EmbedList->insertItem(Opts.EmbedList[fe]);
1300
                                FontsToEmbed.append(Opts.EmbedList[fe]);
1301
                        }
1302
                }
1303
                if (Opts.SubsetList.count() != 0)
1304
                {
1305
                        SubsetList->clear();
1306
                        FontsToSubset.clear();
1307
                        for (uint fe = 0; fe < Opts.SubsetList.count(); ++fe)
1308
                        {
1309
                                SubsetList->insertItem(Opts.SubsetList[fe]);
1310
                                FontsToSubset.append(Opts.SubsetList[fe]);
1311
                        }
1312
                }
1313
                CheckBox10->setChecked(Opts.PresentMode);
1314
                QString tmp;
1315
                struct PDFPresentationData ef;
1316
                Pages->clear();
1317
                EffVal.clear();
1318
                if (EffVal.count() != 0)
1319
                {
1320
                        for (uint pg2 = 0; pg2 < view->Doc->Pages->count(); ++pg2)
1321
                        {
1322
                                Pages->insertItem( tr("Page")+" "+tmp.setNum(pg2+1));
1323
                                if (EffVal.count()-1 < pg2)
1324
                                {
1325
                                        ef.pageEffectDuration = 1;
1326
                                        ef.pageViewDuration = 1;
1327
                                        ef.effectType = 0;
1328
                                        ef.Dm = 0;
1329
                                        ef.M = 0;
1330
                                        ef.Di = 0;
1331
                                        EffVal.append(ef);
1332
                                }
1333
                        }
1334
                }
1335
                else
1336
                {
1337
                        for (uint pg = 0; pg < view->Doc->Pages->count(); ++pg)
1338
                        {
1339
                                Pages->insertItem( tr("Page")+" "+tmp.setNum(pg+1));
1340
                                ef.pageEffectDuration = 1;
1341
                                ef.pageViewDuration = 1;
1342
                                ef.effectType = 0;
1343
                                ef.Dm = 0;
1344
                                ef.M = 0;
1345
                                ef.Di = 0;
1346
                                EffVal.append(ef);
1347
                        }
1348
                }
1349
                PagePrev->setChecked(false);
1350
                PageTime->setValue(EffVal[0].pageViewDuration);
1351
                EffectTime->setValue(EffVal[0].pageEffectDuration);
1352
                // XXX Optionen or Opts Changed here
1353
                if (view->Doc->currentPageLayout == doublePage)
1354
                {
1355
                        if (view->Doc->pageSets[view->Doc->currentPageLayout].FirstPage == 0)
1356
                                Opts.PageLayout = PDFOptions::TwoColumnLeft;
1357
                        else
1358
                                Opts.PageLayout = PDFOptions::TwoColumnRight;
1359
                }
1360
                else
1361
                        Opts.PageLayout = PDFOptions::SinglePage;
1362
                if (Opts.PresentMode)
1363
                        Opts.displayFullscreen = true;
1364
                else
1365
                {
1366
                        if ((Opts.Version == 15) && (Opts.useLayers))
1367
                                Opts.displayLayers = true;
1368
                }
1369
                bool df = true;
1370
                if ((Opts.displayBookmarks) || (Opts.displayFullscreen) || (Opts.displayLayers) || (Opts.displayThumbs))
1371
                        df = false;
1372
                useViewDefault->setChecked(df);
1373
                useFullScreen->setChecked(Opts.displayFullscreen);
1374
                useBookmarks->setChecked(Opts.displayBookmarks);
1375
                useThumbnails->setChecked(Opts.displayThumbs);
1376
                useLayers2->setChecked(Opts.displayLayers);
1377
                hideToolBar->setChecked(Opts.hideToolBar);
1378
                hideMenuBar->setChecked(Opts.hideMenuBar);
1379
                fitWindow->setChecked(Opts.fitWindow);
1380
                QMap<QString,QString>::Iterator itja;
1381
                actionCombo->clear();
1382
                for (itja = view->Doc->JavaScripts.begin(); itja != view->Doc->JavaScripts.end(); ++itja)
1383
                        actionCombo->insertItem(itja.key());
1384
                if (view->Doc->JavaScripts.contains(Opts.openAction))
1385
                        actionCombo->setCurrentText(Opts.openAction);
1386
                if (Opts.PageLayout == PDFOptions::SinglePage)
1387
                        singlePage->setChecked(true);
1388
                else if (Opts.PageLayout == PDFOptions::OneColumn)
1389
                        continuousPages->setChecked(true);
1390
                else if (Opts.PageLayout == PDFOptions::TwoColumnLeft)
1391
                        doublePageLeft->setChecked(true);
1392
                else if (Opts.PageLayout == PDFOptions::TwoColumnRight)
1393
                        doublePageRight->setChecked(true);
1394
                if (Opts.Version == 15)
1395
                        useLayers2->setEnabled(true);
1396
                else
1397
                        useLayers2->setEnabled(false);
1398
        }
1828 fschmid 1399
 
5553 subik 1400
        Encry->setChecked( Opts.Encrypt );
1401
        PassOwner->setText(Opts.PassOwner);
1402
        PassUser->setText(Opts.PassUser);
1403
        PrintSec->setChecked( Opts.Permissions & 4 );
1404
        ModifySec->setChecked( Opts.Permissions & 8 );
1405
        CopySec->setChecked( Opts.Permissions & 16 );
1406
        AddSec->setChecked( Opts.Permissions & 32 );
1407
        if (!Encry->isChecked())
1408
        {
1409
                GroupSecSet->setEnabled(false);
1410
                GroupPass->setEnabled(false);
1411
        }
1412
 
1413
        if (Opts.UseRGB)
1414
                OutCombo->setCurrentItem(0);
1415
        else
1416
        {
1417
                if (Opts.isGrayscale)
1418
                        OutCombo->setCurrentItem(2);
1419
                else
1420
                        OutCombo->setCurrentItem(1);
1421
        }
1422
        useSpot->setChecked(!Opts.UseSpotColors);
1423
        overprintMode->setChecked(Opts.doOverprint);
1424
        UseLPI->setChecked(Opts.UseLPI);
1425
        QMap<QString,LPIData>::Iterator itlp;
1426
        LPIcolor->clear();
1427
        for (itlp = Opts.LPISettings.begin(); itlp != Opts.LPISettings.end(); ++itlp)
1428
                LPIcolor->insertItem( itlp.key() );
1429
        LPIcolor->setCurrentItem(0);
5711 subik 1430
 
5553 subik 1431
        LPIfreq->setValue(Opts.LPISettings[LPIcolor->currentText()].Frequency);
1432
        LPIangle->setValue(Opts.LPISettings[LPIcolor->currentText()].Angle);
1433
        LPIfunc->setCurrentItem(Opts.LPISettings[LPIcolor->currentText()].SpotFunc);
1434
        EmbedProfs->setChecked(Opts.UseProfiles);
1435
        EmbedProfs2->setChecked(Opts.UseProfiles2);
1436
        NoEmbedded->setChecked(Opts.EmbeddedI);
1437
        if ((Opts.UseRGB) || (Opts.isGrayscale))
1438
        {
1439
                ProfsGroup->setEnabled(false);
1440
                GroupBox9->setEnabled(false);
1441
                EnablePr(0);
1442
        }
1443
        else
1444
                EnablePr(1);
1445
        EnablePG();
1446
        EnablePGI();
1447
#ifdef HAVE_CMS
1448
 
1449
        QString tp = Opts.SolidProf;
1450
        if (!ScCore->InputProfiles.contains(tp))
1451
        {
1452
                if (vie != 0)
1453
                        tp = vie->Doc->CMSSettings.DefaultSolidColorRGBProfile;
1454
                else
1455
                        tp = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorRGBProfile;
1456
        }
1457
        ProfilesL::Iterator itp;
1458
        ProfilesL::Iterator itpend=ScCore->InputProfiles.end();
1459
        SolidPr->clear();
1460
        for (itp = ScCore->InputProfiles.begin(); itp != itpend; ++itp)
1461
        {
1462
                SolidPr->insertItem(itp.key());
1463
                if (itp.key() == tp)
1464
                {
1465
                        if ((CMSuse) && (CMSavail))
1466
                                SolidPr->setCurrentItem(SolidPr->count()-1);
1467
                }
1468
        }
1469
        if ((CMSuse) && (CMSavail))
1470
                IntendS->setCurrentItem(Opts.Intent);
1471
        QString tp1 = Opts.ImageProf;
1472
        if (!ScCore->InputProfiles.contains(tp1))
1473
        {
1474
                if (vie != 0)
1475
                        tp1 = vie->Doc->CMSSettings.DefaultSolidColorRGBProfile;
1476
                else
1477
                        tp1 = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorRGBProfile;
1478
        }
1479
        ProfilesL::Iterator itp2;
1480
        ProfilesL::Iterator itp2end=ScCore->InputProfiles.end();
1481
        ImageP->clear();
1482
        for (itp2 = ScCore->InputProfiles.begin(); itp2 != itp2end; ++itp2)
1483
        {
1484
                ImageP->insertItem(itp2.key());
1485
                if (itp2.key() == tp1)
1486
                {
1487
                        if ((CMSuse) && (CMSavail))
1488
                                ImageP->setCurrentItem(ImageP->count()-1);
1489
                }
1490
        }
1491
        if ((CMSuse) && (CMSavail))
1492
                IntendI->setCurrentItem(Opts.Intent2);
1493
        if ((!CMSuse) || (!CMSavail))
1494
        {
1495
                GroupBox9->hide();
1496
                ProfsGroup->hide();
1497
        }
1498
#else
1499
        GroupBox9->hide();
1500
        ProfsGroup->hide();
1501
#endif
1502
 
1503
#ifdef HAVE_CMS
1504
 
1505
        ProfilesL::const_iterator itp3;
1506
        QString tp3 = Opts.PrintProf;
1507
        if (!PDFXProfiles.contains(tp3))
1508
        {
1509
                if (vie != 0)
1510
                        tp3 = vie->Doc->CMSSettings.DefaultPrinterProfile;
1511
                else
1512
                        tp3 = PrefsManager::instance()->appPrefs.DCMSset.DefaultPrinterProfile;
1513
        }
1514
        PrintProfC->clear();
1515
        for (itp3 = PDFXProfiles.constBegin(); itp3 != PDFXProfiles.constEnd(); ++itp3)
1516
        {
1517
                PrintProfC->insertItem(itp3.key());
1518
                if (itp3.key() == tp3)
1519
                        PrintProfC->setCurrentItem(PrintProfC->count()-1);
1520
        }
1521
#endif
1522
        InfoString->setText(Opts.Info);
1523
        BleedTop->setValue(Opts.BleedTop*unitRatio);
1524
        BleedBottom->setValue(Opts.BleedBottom*unitRatio);
1525
        BleedRight->setValue(Opts.BleedRight*unitRatio);
1526
        BleedLeft->setValue(Opts.BleedLeft*unitRatio);
1527
#ifdef HAVE_CMS
1528
        if ((!CMSuse) || (!CMSavail))
1529
                setTabEnabled(tabPDFX, false);
1530
        if ((CMSuse) && (CMSavail) && (Opts.Version == 12) && (!PDFXProfiles.isEmpty()))
1531
                EnablePDFX(3);
1532
        else
1533
                setTabEnabled(tabPDFX, false);
1534
#else
1535
        setTabEnabled(tabPDFX, false);
1536
#endif
1537
        BleedChanged();
1538
        if (vie != 0)
1539
        {
1540
                PgSel = 0;
1541
                Pages->setCurrentItem(0);
1542
                SetEffOpts(0);
1543
                Pages->setEnabled(false);
1544
                Effects->setEnabled(false);
1545
                PagePrev->setEnabled(false);
1546
                DoEffects();
1547
                if (CheckBox10->isChecked())
1548
                {
1549
                        PageTime->setValue(EffVal[0].pageViewDuration);
1550
                        EffectTime->setValue(EffVal[0].pageEffectDuration);
1551
                        EffectType->setCurrentItem(EffVal[0].effectType);
1552
                        EDirection->setCurrentItem(EffVal[0].Dm);
1553
                        EDirection_2->setCurrentItem(EffVal[0].M);
1554
                        EDirection_2_2->setCurrentItem(EffVal[0].Di);
1555
                        SetEffOpts(EffectType->currentItem());
1556
                }
1557
 
1558
        }
1559
}
1560
 
3388 fschmid 1561
void TabPDFOptions::checkInfo()
1562
{
1563
        if ((PDFVersionCombo->currentItem() == 3) && (InfoString->text().isEmpty()))
1564
                emit noInfo();
1565
        else
1566
                emit hasInfo();
1567
}
1568
 
1307 fschmid 1569
void TabPDFOptions::ToggleEncr()
1570
{
1571
        bool setter = Encry->isChecked() ? true : false;
1572
        GroupSecSet->setEnabled(setter);
1573
        GroupPass->setEnabled(setter);
1574
}
1575
 
1576
void TabPDFOptions::BleedChanged()
1577
{
1792 cbradney 1578
        BleedTop->setMaxValue(pageH*unitRatio-BleedBottom->value());
1579
        BleedBottom->setMaxValue(pageH*unitRatio-BleedTop->value());
1580
        BleedRight->setMaxValue(pageB*unitRatio-BleedLeft->value());
1581
        BleedLeft->setMaxValue(pageB*unitRatio-BleedRight->value());
3333 avox 1582
        QPixmap pm(70,80);
1307 fschmid 1583
        pm.fill(white);
1584
        QPainter p;
1585
        p.begin(&pm);
1586
        p.setBrush(NoBrush);
1587
        p.setPen(black);
1588
        p.drawRect(0, 0, pm.width(), pm.height());
1589
        p.setPen(QPen(black, 1, DotLine, FlatCap, MiterJoin));
1792 cbradney 1590
        int x = qRound((BleedLeft->value() / unitRatio) * (70.0 / pageB));
1591
        int y = qRound((BleedTop->value() / unitRatio) * (80.0 / pageH));
1592
        int w =qRound((pageB-((BleedLeft->value()+BleedRight->value())/unitRatio))*(70.0/pageB));
1593
        int h = qRound((pageH-((BleedTop->value()+BleedBottom->value())/unitRatio))*(80.0/pageH));
1307 fschmid 1594
        p.drawRect(x, y, w, h);
1595
        BleedIcon->setPixmap(pm);
1596
        p.end();
1597
}
1598
 
1599
void TabPDFOptions::enableCMS(bool enable)
1600
{
1973 craig 1601
        disconnect(PDFVersionCombo, SIGNAL(activated(int)), this, SLOT(EnablePDFX(int)));
1602
        int a = PDFVersionCombo->currentItem();
1603
        PDFVersionCombo->clear();
5840 cbradney 1604
        PDFVersionCombo->insertItem("PDF 1.3 (Acrobat 4)");
1605
        PDFVersionCombo->insertItem("PDF 1.4 (Acrobat 5)");
1606
        PDFVersionCombo->insertItem("PDF 1.5 (Acrobat 6)");
1843 cbradney 1607
        cms=enable;
1307 fschmid 1608
        if (enable)
1973 craig 1609
                PDFVersionCombo->insertItem("PDF/X-3");
1307 fschmid 1610
        else
1738 fschmid 1611
                a = QMIN(a, 3);
1973 craig 1612
        PDFVersionCombo->setCurrentItem(a);
1307 fschmid 1613
        EnablePr(1);
1973 craig 1614
        connect(PDFVersionCombo, SIGNAL(activated(int)), this, SLOT(EnablePDFX(int)));
1307 fschmid 1615
}
1616
 
1617
void TabPDFOptions::EnablePDFX(int a)
1618
{
1843 cbradney 1619
        useLayers->setEnabled(a == 2);
4252 craig 1620
        if (useLayers2)
1621
                useLayers2->setEnabled(a == 2);
1738 fschmid 1622
        if (a != 3)
1307 fschmid 1623
        {
1624
                setTabEnabled(tabPDFX, false);
1625
                setTabEnabled(tabSecurity, true);
1626
                OutCombo->setEnabled(true);
1627
                EmbedProfs2->setEnabled(true);
3564 fschmid 1628
                emit hasInfo();
1307 fschmid 1629
                if (view != 0)
1630
                {
1631
                        CheckBox10->setEnabled(true);
1632
                        EmbedFonts->setEnabled(true);
1781 fschmid 1633
                        if (EmbedList->count() != 0)
1634
                                FromEmbed->setEnabled(true);
1635
                        ToEmbed->setEnabled(true);
1307 fschmid 1636
                }
1637
                return;
1638
        }
1639
        disconnect(OutCombo, SIGNAL(activated(int)), this, SLOT(EnablePr(int)));
1640
        OutCombo->setCurrentItem(1);
1641
        OutCombo->setEnabled(false);
1642
        EnablePr(1);
1643
        EmbedProfs2->setChecked(true);
1644
        EmbedProfs2->setEnabled(false);
1645
        if (view != 0)
1646
        {
1647
                EmbedFonts->setChecked(true);
1648
                EmbedAll();
1649
                CheckBox10->setChecked(false);
1650
                CheckBox10->setEnabled(false);
1651
                EmbedFonts->setEnabled(false);
1781 fschmid 1652
                FromEmbed->setEnabled(false);
1653
                ToEmbed->setEnabled(false);
3388 fschmid 1654
                if (InfoString->text().isEmpty())
1655
                        emit noInfo();
1656
                else
1657
                        emit hasInfo();
1307 fschmid 1658
        }
1659
        EnablePGI();
1660
        setTabEnabled(tabPDFX, true);
1661
        setTabEnabled(tabSecurity, false);
1662
        connect(OutCombo, SIGNAL(activated(int)), this, SLOT(EnablePr(int)));
1663
}
1664
 
1665
void TabPDFOptions::EnablePGI()
1666
{
1667
        if (EmbedProfs2->isChecked())
1668
        {
1669
                NoEmbedded->setEnabled(true);
1670
                bool setter = NoEmbedded->isChecked() ? true : false;
1671
                ProfsTxt3->setEnabled(setter);
1672
                ProfsTxt4->setEnabled(setter);
1673
                ImageP->setEnabled(setter);
1674
                IntendI->setEnabled(setter);
1675
        }
1676
        else
1677
        {
1678
                ProfsTxt3->setEnabled(false);
1679
                ProfsTxt4->setEnabled(false);
1680
                ImageP->setEnabled(false);
1681
                IntendI->setEnabled(false);
1682
                NoEmbedded->setEnabled(false);
1683
        }
1684
}
1685
 
1686
void TabPDFOptions::EnablePGI2()
1687
{
1688
        bool setter = NoEmbedded->isChecked() ? true : false;
1689
        ProfsTxt3->setEnabled(setter);
1690
        ProfsTxt4->setEnabled(setter);
1691
        ImageP->setEnabled(setter);
1692
        IntendI->setEnabled(setter);
1693
}
1694
 
1695
void TabPDFOptions::EnablePG()
1696
{
1697
        bool setter = EmbedProfs->isChecked() ? true : false;
1698
        ProfsTxt1->setEnabled(setter);
1699
        ProfsTxt2->setEnabled(setter);
1700
        SolidPr->setEnabled(setter);
1701
        IntendS->setEnabled(setter);
1702
}
1703
 
1704
void TabPDFOptions::EnablePr(int a)
1705
{
1706
        EnableLPI(a);
1707
        bool setter = a == 1 ? true : false;
1708
        GroupBox9->setEnabled(setter);
1709
        ProfsGroup->setEnabled(setter);
1710
}
1711
 
1712
void TabPDFOptions::EnableLPI(int a)
1713
{
1714
        if (a == 1)
1715
        {
1716
#ifdef HAVE_CMS
4260 craig 1717
                QString tp = Opts.SolidProf;
5243 cbradney 1718
                if (!ScCore->InputProfiles.contains(tp))
1307 fschmid 1719
                {
1720
                        if (view != 0)
5345 mrdocs 1721
                                tp = view->Doc->CMSSettings.DefaultSolidColorRGBProfile;
1307 fschmid 1722
                        else
5345 mrdocs 1723
                                tp = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorRGBProfile;
1307 fschmid 1724
                }
2891 cbradney 1725
                SolidPr->clear();
1307 fschmid 1726
                ProfilesL::Iterator itp;
5243 cbradney 1727
                ProfilesL::Iterator itpend=ScCore->InputProfiles.end();
1728
                for (itp = ScCore->InputProfiles.begin(); itp != itpend; ++itp)
1307 fschmid 1729
                {
1730
                        SolidPr->insertItem(itp.key());
1731
                        if (itp.key() == tp)
1732
                        {
1733
                                if (cms)
1734
                                        SolidPr->setCurrentItem(SolidPr->count()-1);
1735
                        }
1736
                }
1737
                if (cms)
4260 craig 1738
                        IntendS->setCurrentItem(Opts.Intent);
1739
                QString tp1 = Opts.ImageProf;
5243 cbradney 1740
                if (!ScCore->InputProfiles.contains(tp1))
1307 fschmid 1741
                {
1742
                        if (view != 0)
5345 mrdocs 1743
                                tp1 = view->Doc->CMSSettings.DefaultSolidColorRGBProfile;
1307 fschmid 1744
                        else
5345 mrdocs 1745
                                tp1 = PrefsManager::instance()->appPrefs.DCMSset.DefaultSolidColorRGBProfile;
1307 fschmid 1746
                }
1747
                ImageP->clear();
2891 cbradney 1748
                ProfilesL::Iterator itp2;
5243 cbradney 1749
                ProfilesL::Iterator itp2end=ScCore->InputProfiles.end();
1750
                for (itp2 = ScCore->InputProfiles.begin(); itp2 != itp2end; ++itp2)
1307 fschmid 1751
                {
1752
                        ImageP->insertItem(itp2.key());
1753
                        if (itp2.key() == tp1)
1754
                        {
1755
                                if (cms)
1756
                                        ImageP->setCurrentItem(ImageP->count()-1);
1757
                        }
1758
                }
1759
                if (cms)
4260 craig 1760
                        IntendI->setCurrentItem(Opts.Intent2);
1307 fschmid 1761
#endif
1762
                if (cms)
1763
                {
1764
                        GroupBox9->show();
1765
                        ProfsGroup->show();
1476 fschmid 1766
                        UseLPI->hide();
3079 fschmid 1767
                        useSpot->hide();
5320 fschmid 1768
                        overprintMode->hide();
1307 fschmid 1769
                }
1770
                else
1771
                {
1772
                        GroupBox9->hide();
1773
                        ProfsGroup->hide();
3079 fschmid 1774
                        useSpot->show();
5320 fschmid 1775
                        overprintMode->show();
1307 fschmid 1776
                        UseLPI->show();
1777
                        if (UseLPI->isChecked())
1778
                                LPIgroup->show();
1779
                        else
1780
                                LPIgroup->hide();
1781
                }
1782
        }
1783
        else
1784
        {
3079 fschmid 1785
                useSpot->hide();
5320 fschmid 1786
                overprintMode->hide();
1307 fschmid 1787
                UseLPI->hide();
1788
                LPIgroup->hide();
1789
        }
1790
}
1791
 
1792
void TabPDFOptions::EnableLPI2()
1793
{
1794
        if (UseLPI->isChecked())
1795
                LPIgroup->show();
1796
        else
1797
                LPIgroup->hide();
1798
}
1799
 
1800
void TabPDFOptions::SelLPIcol(int c)
1801
{
4260 craig 1802
        // XXX Optionen or Opts changed here
1803
        Opts.LPISettings[SelLPIcolor].Frequency = LPIfreq->value();
1804
        Opts.LPISettings[SelLPIcolor].Angle = LPIangle->value();
1805
        Opts.LPISettings[SelLPIcolor].SpotFunc = LPIfunc->currentItem();
1806
        LPIfreq->setValue(Opts.LPISettings[LPIcolor->text(c)].Frequency);
1807
        LPIangle->setValue(Opts.LPISettings[LPIcolor->text(c)].Angle);
1808
        LPIfunc->setCurrentItem(Opts.LPISettings[LPIcolor->text(c)].SpotFunc);
1307 fschmid 1809
        SelLPIcolor = LPIcolor->text(c);
1810
}
1811
 
1812
void TabPDFOptions::SelRange(bool e)
1813
{
1814
        bool setter = e ? false : true;
1815
        PageNr->setEnabled( setter );
1816
        if (setter == false)
1817
                CheckBM->setChecked(false);
1818
}
1819
 
1820
void TabPDFOptions::EffectOnAll()
1821
{
3724 cbradney 1822
        for (uint pg = 0; pg < view->Doc->Pages->count(); ++pg)
1307 fschmid 1823
        {
1824
                EffVal[pg].pageViewDuration = PageTime->value();
1825
                EffVal[pg].pageEffectDuration = EffectTime->value();
1826
                EffVal[pg].effectType = EffectType->currentItem();
1827
                EffVal[pg].Dm = EDirection->currentItem();
1828
                EffVal[pg].M = EDirection_2->currentItem();
1829
                EffVal[pg].Di = EDirection_2_2->currentItem();
1830
        }
1831
}
1832
 
1833
void TabPDFOptions::PDFMirror()
1834
{
4260 craig 1835
        // XXX Optionen or Opts changed here
1836
        Opts.MirrorH = MirrorH->isOn();
1837
        Opts.MirrorV = MirrorV->isOn();
1307 fschmid 1838
}
1839
 
1840
void TabPDFOptions::Rotation( int value )
1841
{
4260 craig 1842
        Opts.RotateDeg = value * 90;
1307 fschmid 1843
}
1844
 
1845
void TabPDFOptions::DoEffects()
1846
{
1847
        bool setter = CheckBox10->isChecked() ? true : false;
1848
        Pages->setEnabled(setter);
1849
        Effects->setEnabled(setter);
1850
        PagePrev->setEnabled(setter);
4197 fschmid 1851
        useFullScreen->setChecked(setter);
1307 fschmid 1852
}
1853
 
1854
void TabPDFOptions::ValidDI(int nr)
1855
{
1856
        if (!EDirection_2_2->listBox()->item(nr)->isSelectable())
1857
                EDirection_2_2->setCurrentItem(0);
1858
}
1859
 
1860
void TabPDFOptions::SetPgEff(int nr)
1861
{
1862
        if (nr < 0)
1863
                return;
1864
        EffVal[PgSel].pageViewDuration = PageTime->value();
1865
        EffVal[PgSel].pageEffectDuration = EffectTime->value();
1866
        EffVal[PgSel].effectType = EffectType->currentItem();
1867
        EffVal[PgSel].Dm = EDirection->currentItem();
1868
        EffVal[PgSel].M = EDirection_2->currentItem();
1869
        EffVal[PgSel].Di = EDirection_2_2->currentItem();
1870
        SetEffOpts(EffVal[nr].effectType);
1871
        PageTime->setValue(EffVal[nr].pageViewDuration);
1872
        EffectTime->setValue(EffVal[nr].pageEffectDuration);
1873
        EffectType->setCurrentItem(EffVal[nr].effectType);
1874
        EDirection->setCurrentItem(EffVal[nr].Dm);
1875
        EDirection_2->setCurrentItem(EffVal[nr].M);
1876
        EDirection_2_2->setCurrentItem(EffVal[nr].Di);
1877
        PgSel = nr;
1878
}
1879
 
1880
void TabPDFOptions::SetEffOpts(int nr)
1881
{
1882
        EDirection_2_2->listBox()->item(2)->setSelectable(false);
1883
        EDirection_2_2->listBox()->item(3)->setSelectable(false);
1884
        EDirection_2_2->listBox()->item(4)->setSelectable(false);
1885
        switch (nr)
1886
        {
1887
        case 0:
1888
        case 3:
1889
                EDirection->setEnabled(false);
1890
                EDirection_2->setEnabled(false);
1891
                EDirection_2_2->setEnabled(false);
1892
                break;
1893
        case 1:
1894
                EDirection->setEnabled(true);
1895
                EDirection_2->setEnabled(false);
1896
                EDirection_2_2->setEnabled(false);
1897
                break;
1898
        case 2:
1899
                EDirection->setEnabled(false);
1900
                EDirection_2->setEnabled(true);
1901
                EDirection_2_2->setEnabled(false);
1902
                break;
1903
        case 4:
1904
        case 6:
1905
                EDirection->setEnabled(false);
1906
                EDirection_2->setEnabled(false);
1907
                EDirection_2_2->setEnabled(true);
1908
                if (nr == 6)
1909
                {
1910
                        EDirection_2_2->listBox()->item(2)->setSelectable(true);
1911
                        EDirection_2_2->listBox()->item(3)->setSelectable(true);
1912
                }
1913
                else
1914
                        EDirection_2_2->listBox()->item(4)->setSelectable(true);
1915
                break;
1916
        case 5:
1917
                EDirection->setEnabled(true);
1918
                EDirection_2->setEnabled(true);
1919
                EDirection_2_2->setEnabled(false);
1920
                break;
1921
        }
1922
}
1923
 
1924
void TabPDFOptions::PagePr()
1925
{
1926
        disconnect(Pages, SIGNAL(highlighted(int)), this, SLOT(SetPgEff(int)));
1927
        QString tmp;
1815 fschmid 1928
        QPixmap pm;
1307 fschmid 1929
        int ci = Pages->currentItem();
1930
        if (PagePrev->isChecked())
1931
        {
3724 cbradney 1932
                for (uint pg = 0; pg < view->Doc->Pages->count(); ++pg)
1815 fschmid 1933
                {
1934
                        pm.convertFromImage(view->PageToPixmap(pg, 70));
1935
                        Pages->changeItem(pm, tr("Page")+" "+tmp.setNum(pg+1), pg);
1936
                }
1307 fschmid 1937
        }
1938
        else
1939
        {
3724 cbradney 1940
                for (uint pg = 0; pg < view->Doc->Pages->count(); ++pg)
1307 fschmid 1941
                        Pages->changeItem( tr("Page")+" "+tmp.setNum(pg+1), pg);
1942
        }
1943
        if (ci != -1)
1944
        {
1945
                PgSel = ci;
1946
                Pages->setCurrentItem(ci);
1947
        }
1948
        else
1949
        {
1950
                PgSel = 0;
1951
                Pages->clearSelection();
1952
        }
1953
        connect(Pages, SIGNAL(highlighted(int)), this, SLOT(SetPgEff(int)));
1954
}
1955
 
1956
void TabPDFOptions::DoDownsample()
1957
{
1958
        if (DSColor->isChecked())
1959
        {
1960
                ValC->setEnabled(true);
1961
                if (ValC->value() > Resolution->value())
1962
                        ValC->setValue(Resolution->value());
1963
                ValC->setMaxValue(Resolution->value());
1964
                ValC->setMinValue(35);
1965
        }
1966
        else
1967
                ValC->setEnabled(false);
1968
}
1969
 
1970
void TabPDFOptions::RemoveEmbed()
1971
{
1972
        FontsToEmbed.remove(EmbedList->currentText());
1973
        EmbedList->removeItem(EmbedList->currentItem());
1974
        EmbedList->clearSelection();
1975
        if (EmbedList->count() == 0)
1976
        {
1977
                FromEmbed->setEnabled(false);
1978
                ToSubset->setEnabled(false);
1979
        }
1980
}
1981
 
1982
void TabPDFOptions::PutToEmbed()
1983
{
1984
        if (EmbedList->count() != 0)
1985
        {
5387 avox 1986
                if (!AllFonts[AvailFlist->currentText()]->subset())
1307 fschmid 1987
                {
3633 fschmid 1988
                        if (EmbedList->findItem(AvailFlist->currentText()) == NULL)
1989
                        {
1990
                                FontsToEmbed.append(AvailFlist->currentText());
1991
                                EmbedList->insertItem(AvailFlist->currentText());
1992
                        }
1307 fschmid 1993
                }
3633 fschmid 1994
                else
1995
                {
1996
                        if (SubsetList->count() != 0)
1997
                        {
1998
                                if (SubsetList->findItem(AvailFlist->currentText()) == NULL)
1999
                                {
2000
                                        FontsToSubset.append(AvailFlist->currentText());
2001
                                        SubsetList->insertItem(AvailFlist->currentText());
2002
                                }
2003
                        }
2004
                        else
2005
                        {
2006
                                FontsToSubset.append(AvailFlist->currentText());
2007
                                SubsetList->insertItem(AvailFlist->currentText());
2008
                        }
2009
                }
1307 fschmid 2010
        }
2011
        else
2012
        {
5387 avox 2013
                if (!AllFonts[AvailFlist->currentText()]->subset())
3633 fschmid 2014
                {
2015
                        FontsToEmbed.append(AvailFlist->currentText());
2016
                        EmbedList->insertItem(AvailFlist->currentText());
2017
                }
2018
                else
2019
                {
2020
                        if (SubsetList->count() != 0)
2021
                        {
2022
                                if (SubsetList->findItem(AvailFlist->currentText()) == NULL)
2023
                                {
2024
                                        FontsToSubset.append(AvailFlist->currentText());
2025
                                        SubsetList->insertItem(AvailFlist->currentText());
2026
                                }
2027
                        }
2028
                        else
2029
                        {
2030
                                FontsToSubset.append(AvailFlist->currentText());
2031
                                SubsetList->insertItem(AvailFlist->currentText());
2032
                        }
2033
                }
1307 fschmid 2034
        }
2035
}
2036
 
2037
void TabPDFOptions::RemoveSubset()
2038
{
5387 avox 2039
        if (!AllFonts[SubsetList->currentText()]->subset())
3633 fschmid 2040
        {
2041
                FontsToSubset.remove(SubsetList->currentText());
2042
                FontsToEmbed.append(SubsetList->currentText());
2043
                EmbedList->insertItem(SubsetList->currentText());
2044
                SubsetList->removeItem(SubsetList->currentItem());
2045
                SubsetList->clearSelection();
2046
                if (SubsetList->count() == 0)
2047
                        FromSubset->setEnabled(false);
2048
        }
1307 fschmid 2049
}
2050
 
2051
void TabPDFOptions::PutToSubset()
2052
{
2053
        if (SubsetList->count() != 0)
2054
        {
2055
                if (SubsetList->findItem(EmbedList->currentText()) == NULL)
2056
                {
2057
                        FontsToSubset.append(EmbedList->currentText());
2058
                        SubsetList->insertItem(EmbedList->currentText());
2059
                }
2060
        }
2061
        else
2062
        {
2063
                FontsToSubset.append(EmbedList->currentText());
2064
                SubsetList->insertItem(EmbedList->currentText());
2065
        }
2066
        FontsToEmbed.remove(EmbedList->currentText());
2067
        EmbedList->removeItem(EmbedList->currentItem());
2068
        EmbedList->clearSelection();
2069
        if (EmbedList->count() == 0)
2070
        {
2071
                FromEmbed->setEnabled(false);
2072
                ToSubset->setEnabled(false);
2073
        }
2074
}
2075
 
2076
void TabPDFOptions::SelAFont(QListBoxItem *c)
2077
{
2078
        if ((c != NULL) && (!EmbedFonts->isChecked()))
2079
        {
2080
                FromEmbed->setEnabled(false);
2081
                if (c->isSelectable())
2082
                        ToEmbed->setEnabled(true);
2083
                ToSubset->setEnabled(false);
2084
                FromSubset->setEnabled(false);
2085
                EmbedList->clearSelection();
2086
                SubsetList->clearSelection();
2087
        }
2088
}
2089
 
2090
void TabPDFOptions::SelEFont(QListBoxItem *c)
2091
{
2092
        if ((c != NULL) && (!EmbedFonts->isChecked()))
2093
        {
1781 fschmid 2094
                if (!isTabEnabled(tabPDFX))
2095
                        FromEmbed->setEnabled(true);
1307 fschmid 2096
                ToEmbed->setEnabled(false);
2097
                ToSubset->setEnabled(true);
2098
                FromSubset->setEnabled(false);
2099
                AvailFlist->clearSelection();
2100
                SubsetList->clearSelection();
2101
        }
2102
}