Subversion Repositories Scribus

Rev

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