Scribus Developer Documentation - API
logo-pen

Scribus Developer Documentation - API

tabpdfoptions.cpp

Go to the documentation of this file.
00001 /*
00002 For general Scribus (>=1.3.2) copyright and licensing information please refer
00003 to the COPYING file provided with the program. Following this notice may exist
00004 a copyright and/or license notice that predates the release of Scribus 1.3.2
00005 for which a new license (GPL+exception) is in place.
00006 */
00007 /***************************************************************************
00008  *                                                                         *
00009  *   This program is free software; you can redistribute it and/or modify  *
00010  *   it under the terms of the GNU General Public License as published by  *
00011  *   the Free Software Foundation; either version 2 of the License, or     *
00012  *   (at your option) any later version.                                   *
00013  *                                                                         *
00014  ***************************************************************************/
00015 #include "tabpdfoptions.h"
00016 
00017 #include <QPixmap>
00018 #include <QHBoxLayout>
00019 #include <QVBoxLayout>
00020 #include <QGridLayout>
00021 #include <QSpacerItem>
00022 #include <QGroupBox>
00023 #include <QCheckBox>
00024 #include <QComboBox>
00025 #include <QPushButton>
00026 #include <QToolButton>
00027 #include <QLineEdit>
00028 #include <QLabel>
00029 #include <QSpinBox>
00030 #include <QListWidget>
00031 #include <QListWidgetItem>
00032 
00033 #include <QStandardItem>
00034 #include <QAbstractItemView>
00035 
00036 #include "ui/createrange.h"
00037 #include "pdfoptions.h"
00038 #include "prefsmanager.h"
00039 #include "scribuscore.h"
00040 #include "scconfig.h"
00041 #include "units.h"
00042 #include "usertaskstructs.h"
00043 #include "scrspinbox.h"
00044 #include "util_icon.h"
00045 #include "scribuscore.h"
00046 #include "util.h"
00047 
00048 TabPDFOptions::TabPDFOptions(   QWidget* parent, PDFOptions & Optionen,
00049                                 const SCFonts &AllFonts,
00050                                 const ProfilesL & PDFXProfiles,
00051                                 const QMap<QString, int> & DocFonts,
00052                                 const QList<PDFPresentationData> & Eff,
00053                                 int unitIndex, double PageH, double PageB,
00054                                 ScribusDoc * mdoc, bool exporting )
00055     : QTabWidget( parent ),
00056     // Initialize all those darn pointer members so we catch unitialized
00057     // accesses. I (CR) use the following command to generate these based on
00058     // the header excerpt:
00059     //    !cut -d \* -f 2 | sed -r 's/ ?(.*);/\t\1\(0\),/g'
00060     // Public GUI member pointers:
00061     AddSec(0),
00062     Article(0),
00063     BleedBottom(0),
00064     BleedLeft(0),
00065     BleedRight(0),
00066     BleedTop(0),
00067     CheckBM(0),
00068     CheckBox1(0),
00069     CMethod(0),
00070     ClipMarg(0),
00071     ComboBind(0),
00072     Compression(0),
00073     continuousPages(0),
00074     CopySec(0),
00075     CQuality(0),
00076     doublePageLeft(0),
00077     doublePageRight(0),
00078     DSColor(0),
00079     EmbedProfs(0),
00080     EmbedProfs2(0),
00081     Encry(0),
00082     ImageP(0),
00083     IntendI(0),
00084     IntendS(0),
00085     MirrorH(0),
00086     MirrorV(0),
00087     ModifySec(0),
00088     NoEmbedded(0),
00089     OutCombo(0),
00090     Pages(0),
00091     PassOwner(0),
00092     PassUser(0),
00093     PDFVersionCombo(0),
00094     PrintProfC(0),
00095     PrintSec(0),
00096     Resolution(0),
00097     RotateDeg(0),
00098     singlePage(0),
00099     SolidPr(0),
00100     useBookmarks(0),
00101     useFullScreen(0),
00102     useLayers(0),
00103     useLayers2(0),
00104     UseLPI(0),
00105     useSpot(0),
00106     overprintMode(0),
00107     useThumbnails(0),
00108     ValC(0),
00109     // Protected members other than GUI member pointers
00110     // End GUI member pointers
00111     // Protected non-gui members
00112     PgSel(0),
00113     EffVal(Eff),
00114     // Protected GUI member pointers
00115     actionCombo(0),
00116     AllPages(0),
00117     CheckBox10(0),
00118     EDirection(0),
00119     EDirection_2(0),
00120     EDirection_2_2(0),
00121     EffectTime(0),
00122     EffectType(0),
00123     fitWindow(0),
00124     hideMenuBar(0),
00125     hideToolBar(0),
00126     InfoString(0),
00127     LPIangle(0),
00128     LPIfreq(0),
00129     LPIfunc(0),
00130     PageNr(0),
00131     PageTime(0),
00132     // End protected gui member pointers
00133     // Private member gui pointers
00134     actionLabel(0),
00135     AvailFlist(0),
00136     BleedGroup(0),
00137     BleedGroupLayout(0),
00138     CBox(0),
00139     CBoxLayout(0),
00140     ColorGroup(0),
00141     ColorGroupLayout(0),
00142     ColorText1(0),
00143     Effects(0),
00144     EffectsLayout(0),
00145     EmbedFonts(0),
00146     EmbedList(0),
00147     EonAllPg(0),
00148     FromEmbed(0),
00149     FromOutline(0),
00150     GroupBox1(0),
00151     GroupBox1Layout(0),
00152     GroupBox9(0),
00153     GroupBox9Layout(0),
00154     groupDisplay(0),
00155     groupDisplayLayout(0),
00156     GroupFont(0),
00157     GroupFontLayout(0),
00158     groupJava(0),
00159     groupJavaLayout(0),
00160     groupNavigation(0),
00161     groupNavigationLayout(0),
00162     GroupPass(0),
00163     GroupPassLayout(0),
00164     GroupSecSet(0),
00165     GroupSecSetLayout(0),
00166     Layout11(0),
00167     pageNumberSelectorLayout(0),
00168     Layout11a(0),
00169     Layout13(0),
00170     Layout4_2(0),
00171     Layout5_2(0),
00172     Layout5_2a(0),
00173     Layout6(0),
00174     LayoutSpecial(0),
00175     LPIcolor(0),
00176     LPIgroup(0),
00177     LPIgroupLayout(0),
00178     OnlySome(0),
00179     pageLayout(0),
00180     pageLayoutLayout(0),
00181     PagePrev(0),
00182     PDFX1(0),
00183     PDFX2(0),
00184     PrintSec2(0),
00185     ProfsGroup(0),
00186     ProfsGroupLayout(0),
00187     ProfsTxt1(0),
00188     ProfsTxt2(0),
00189     ProfsTxt3(0),
00190     ProfsTxt4(0),
00191     RangeGroup(0),
00192     RangeGroupLayout(0),
00193     OutlineFonts(0),
00194     OutlineList(0),
00195     tabColor(0),
00196     tabColorLayout(0),
00197     tabFonts(0),
00198     tabGeneral(0),
00199     tabLayout(0),
00200     tabLayout_3(0),
00201     tabLayout_5(0),
00202     tabPDFX(0),
00203     tabPDFXLayout(0),
00204     tabPresentation(0),
00205     tabSecurity(0),
00206     tabSecurityLayout(0),
00207     tabSpecial(0),
00208     tabSpecialLayout(0),
00209     TextCom1(0),
00210     TextCom2(0),
00211     TextFont1(0),
00212     TextFont1_2(0),
00213     TextFont1_2a(0),
00214     TextLabel1(0),
00215     TextLabel1e(0),
00216     TextLabel1x(0),
00217     TextLabel2(0),
00218     TextLabel2e(0),
00219     TextLabel3(0),
00220     TextLabel3e(0),
00221     TextLabel4e(0),
00222     TextLabel5e(0),
00223     TextLabel6e(0),
00224     textLPI1(0),
00225     textLPI2(0),
00226     textLPI3(0),
00227     TextSec1(0),
00228     TextSec2(0),
00229     pageNrButton(0),
00230     ToEmbed(0),
00231     ToOutline(0),
00232     useViewDefault(0),
00233     X3Group(0),
00234     X3GroupLayout(0),
00235     // end protected member gui pointers
00236     // Private members
00237     unit(unitGetSuffixFromIndex(unitIndex)),
00238     precision(unitGetPrecisionFromIndex(unitIndex)),
00239     unitRatio(unitGetRatioFromIndex(unitIndex)),
00240     pdfExport(exporting),
00241     doc(mdoc),
00242     AllFonts(AllFonts),
00243     Opts(Optionen),
00244     pageH(PageH),
00245     pageB(PageB),
00246     cms(false)
00247 {
00248 
00249     tabGeneral = new QWidget( this );
00250     tabLayout = new QVBoxLayout( tabGeneral );
00251     tabLayout->setSpacing( 5 );
00252     tabLayout->setMargin( 10 );
00253     Layout13 = new QHBoxLayout;
00254     Layout13->setSpacing( 5 );
00255     Layout13->setMargin( 0 );
00256     RangeGroup = new QGroupBox( tabGeneral );
00257     RangeGroup->setTitle( tr( "Export Range" ) );
00258     RangeGroupLayout = new QVBoxLayout( RangeGroup );
00259     RangeGroupLayout->setSpacing( 5 );
00260     RangeGroupLayout->setMargin( 10 );
00261     RangeGroupLayout->setAlignment( Qt::AlignTop );
00262     AllPages = new QRadioButton( tr( "&All Pages" ), RangeGroup );
00263     RangeGroupLayout->addWidget( AllPages );
00264     Layout11 = new QGridLayout;
00265     Layout11->setSpacing( 5 );
00266     Layout11->setMargin( 0 );
00267     OnlySome = new QRadioButton( tr( "C&hoose Pages" ), RangeGroup );
00268     Layout11->addWidget( OnlySome, 0, 0 );
00269     pageNumberSelectorLayout = new QHBoxLayout;
00270     pageNumberSelectorLayout->setSpacing( 5 );
00271     pageNumberSelectorLayout->setMargin( 0 );
00272     PageNr = new QLineEdit( RangeGroup );
00273     pageNumberSelectorLayout->addWidget( PageNr );
00274     pageNrButton = new QPushButton( RangeGroup );
00275     pageNrButton->setIcon(QIcon(loadIcon("ellipsis.png")));
00276     pageNumberSelectorLayout->addWidget( pageNrButton );
00277     Layout11->addLayout( pageNumberSelectorLayout, 1, 0 );
00278     RangeGroupLayout->addLayout( Layout11 );
00279     RotationLayout = new QHBoxLayout;
00280     RotationLayout->setSpacing( 5 );
00281     RotationLayout->setMargin( 0 );
00282     TextLabel3 = new QLabel( tr( "&Rotation:" ), RangeGroup );
00283     RotationLayout->addWidget( TextLabel3 );
00284     RotateDeg = new QComboBox(RangeGroup);
00285     RotateDeg->addItem(QString::fromUtf8("0 °"));
00286     RotateDeg->addItem(QString::fromUtf8("90 °"));
00287     RotateDeg->addItem(QString::fromUtf8("180 °"));
00288     RotateDeg->addItem(QString::fromUtf8("270 °"));
00289     RotateDeg->setEditable(false);
00290     TextLabel3->setBuddy(RotateDeg);
00291     RotationLayout->addWidget( RotateDeg );
00292     RangeGroupLayout->addLayout(RotationLayout);
00293     Layout11a = new QGridLayout;
00294     Layout11a->setSpacing( 5 );
00295     Layout11a->setMargin( 0 );
00296     MirrorH = new QToolButton(RangeGroup);
00297     MirrorH->setIcon(QIcon(loadIcon("16/flip-object-horizontal.png")));
00298     MirrorH->setCheckable( true );
00299     Layout11a->addWidget( MirrorH, 0, 0 );
00300     MirrorV = new QToolButton( RangeGroup );
00301     MirrorV->setIcon(QIcon(loadIcon("16/flip-object-vertical.png")));
00302     MirrorV->setCheckable( true );
00303     Layout11a->addWidget( MirrorV, 0, 1 );
00304     RangeGroupLayout->addLayout( Layout11a );
00305     ClipMarg = new QCheckBox( tr( "Clip to Page Margins" ), RangeGroup );
00306     RangeGroupLayout->addWidget( ClipMarg );
00307     Layout13->addWidget( RangeGroup );
00308 
00309     GroupBox1 = new QGroupBox( tr( "File Options" ), tabGeneral );
00310     GroupBox1Layout = new QGridLayout( GroupBox1 );
00311     GroupBox1Layout->setAlignment( Qt::AlignTop );
00312     GroupBox1Layout->setSpacing( 5 );
00313     GroupBox1Layout->setMargin( 10 );
00314     TextLabel1 = new QLabel( tr( "Compatibilit&y:" ), GroupBox1 );
00315     TextLabel1->setAlignment( Qt::AlignVCenter | Qt::AlignLeft );
00316     GroupBox1Layout->addWidget( TextLabel1, 0, 0 );
00317     PDFVersionCombo = new QComboBox( GroupBox1 );
00318     PDFVersionCombo->setEditable(false);
00319     TextLabel1->setBuddy(PDFVersionCombo);
00320     PDFVersionCombo->addItem("PDF 1.3 (Acrobat 4)");
00321     PDFVersionCombo->addItem("PDF 1.4 (Acrobat 5)");
00322     PDFVersionCombo->addItem("PDF 1.5 (Acrobat 6)");
00323     cms = doc ? (ScCore->haveCMS() && doc->HasCMS) : false;
00324     if (cms && (!PDFXProfiles.isEmpty()))
00325         PDFVersionCombo->addItem("PDF/X-3");
00326     GroupBox1Layout->addWidget( PDFVersionCombo, 0, 1, 1, 2 );
00327     TextLabel1x = new QLabel( tr( "&Binding:" ), GroupBox1 );
00328     TextLabel1x->setAlignment(Qt::AlignVCenter | Qt::AlignLeft);
00329     GroupBox1Layout->addWidget( TextLabel1x, 1, 0 );
00330     ComboBind = new QComboBox( GroupBox1 );
00331     ComboBind->addItem( tr("Left Margin"));
00332     ComboBind->addItem( tr("Right Margin"));
00333     ComboBind->setEditable(false);
00334     TextLabel1x->setBuddy(ComboBind);
00335     GroupBox1Layout->addWidget( ComboBind, 1, 1, 1, 2 );
00336     CheckBox1 = new QCheckBox( tr( "Generate &Thumbnails" ), GroupBox1 );
00337     GroupBox1Layout->addWidget( CheckBox1, 2, 0, 1, 3 );
00338     Article = new QCheckBox( tr( "Save &Linked Text Frames as PDF Articles" ), GroupBox1 );
00339     GroupBox1Layout->addWidget( Article, 3, 0, 1, 3 );
00340     CheckBM = new QCheckBox( tr( "&Include Bookmarks" ), GroupBox1 );
00341     GroupBox1Layout->addWidget( CheckBM, 4, 0, 1, 3 );
00342     useLayers = new QCheckBox( tr( "Include La&yers" ), GroupBox1 );
00343     GroupBox1Layout->addWidget( useLayers, 5, 0, 1, 3 );
00344     Resolution = new QSpinBox( GroupBox1 );
00345     Resolution->setMaximum( 4000 );
00346     Resolution->setMinimum( 35 );
00347     Resolution->setSuffix( tr( " dpi" ) );
00348     TextLabel2 = new QLabel( tr( "&Resolution for EPS Graphics:" ), GroupBox1 );
00349     TextLabel2->setBuddy(Resolution);
00350     TextLabel2->setAlignment( Qt::AlignVCenter | Qt::AlignLeft );
00351     GroupBox1Layout->addWidget( TextLabel2, 6, 0 );
00352     GroupBox1Layout->addWidget( Resolution, 6, 1, Qt::AlignLeft );
00353     Layout13->addWidget( GroupBox1 );
00354     tabLayout->addLayout( Layout13 );
00355     Compression = new QCheckBox( tr( "Com&press Text and Vector Graphics" ), tabGeneral );
00356     tabLayout->addWidget( Compression );
00357     CBox = new QGroupBox( tr( "Image Compression Method" ), tabGeneral );
00358     CBoxLayout = new QGridLayout( CBox );
00359     CBoxLayout->setSpacing( 5 );
00360     CBoxLayout->setMargin( 10 );
00361     CBoxLayout->setAlignment( Qt::AlignTop );
00362     CMethod = new QComboBox(CBox);
00363     CMethod->clear();
00364     CMethod->addItem( tr( "Automatic" ) );
00365     CMethod->addItem( tr( "Lossy - JPEG" ) );
00366     CMethod->addItem( tr( "Lossless - Zip" ) );
00367     CMethod->addItem( tr( "None" ) );
00368     CMethod->setEditable(false);
00369     TextCom1 = new QLabel( tr( "Compression Metho&d:" ), CBox );
00370     TextCom1->setBuddy(CMethod);
00371     CBoxLayout->addWidget( TextCom1, 0, 0 );
00372     CBoxLayout->addWidget( CMethod, 0, 1 );
00373     CQuality = new QComboBox(CBox);
00374     CQuality->clear();
00375     CQuality->addItem( tr( "Maximum" ) );
00376     CQuality->addItem( tr( "High" ) );
00377     CQuality->addItem( tr( "Medium" ) );
00378     CQuality->addItem( tr( "Low" ) );
00379     CQuality->addItem( tr( "Minimum" ) );
00380     CQuality->setEditable(false);
00381     TextCom2 = new QLabel( tr( "Compression &Quality:" ), CBox );
00382     TextCom2->setBuddy(CQuality);
00383     CBoxLayout->addWidget( TextCom2, 1, 0 );
00384     CBoxLayout->addWidget( CQuality, 1, 1 );
00385     DSColor = new QCheckBox( tr( "Maximum Image Resolution:" ), CBox );
00386     CBoxLayout->addWidget( DSColor, 2, 0 );
00387     ValC = new QSpinBox( CBox );
00388     ValC->setSuffix( tr( " dpi" ) );
00389     ValC->setMaximum( 4000 );
00390     ValC->setMinimum( 35 );
00391     CBoxLayout->addWidget( ValC, 2, 1, Qt::AlignLeft );
00392     tabLayout->addWidget( CBox );
00393     addTab(tabGeneral, tr( "&General" ));
00394     if (doc != 0 && exporting)
00395     {
00396         tabFonts = new QWidget( this );
00397         tabLayout_3 = new QVBoxLayout( tabFonts );
00398         tabLayout_3->setSpacing( 5 );
00399         tabLayout_3->setMargin( 10 );
00400         GroupFont = new QGroupBox( tr( "Embedding" ), tabFonts);
00401         GroupFontLayout = new QHBoxLayout( GroupFont );
00402         GroupFontLayout->setAlignment( Qt::AlignTop );
00403         GroupFontLayout->setSpacing( 5 );
00404         GroupFontLayout->setMargin( 10 );
00405         Layout4_2 = new QVBoxLayout;
00406         Layout4_2->setSpacing( 5 );
00407         Layout4_2->setMargin( 0 );
00408         TextFont1 = new QLabel( tr( "Available Fonts:" ), GroupFont);
00409         Layout4_2->addWidget( TextFont1 );
00410         AvailFlist = new QListWidget( GroupFont );
00411         AvailFlist->setMaximumHeight(300);
00412         Layout4_2->addWidget( AvailFlist );
00413         GroupFontLayout->addLayout( Layout4_2 );
00414         Layout5_2 = new QVBoxLayout;
00415         Layout5_2->setSpacing( 5 );
00416         Layout5_2->setMargin( 0 );
00417         QSpacerItem* spacerS3a = new QSpacerItem( 2, 30, QSizePolicy::Minimum, QSizePolicy::Minimum );
00418         Layout5_2->addItem( spacerS3a );
00419         ToEmbed = new QPushButton(GroupFont);
00420         ToEmbed->setIcon(QIcon(loadIcon("22/go-next.png")));
00421         Layout5_2->addWidget( ToEmbed );
00422         FromEmbed = new QPushButton(GroupFont);
00423         FromEmbed->setIcon(QIcon(loadIcon("22/go-previous.png")));
00424         Layout5_2->addWidget( FromEmbed );
00425         QSpacerItem* spacerS3 = new QSpacerItem( 2, 2, QSizePolicy::Minimum, QSizePolicy::Expanding );
00426         Layout5_2->addItem( spacerS3 );
00427         GroupFontLayout->addLayout( Layout5_2 );
00428         Layout6 = new QVBoxLayout;
00429         Layout6->setSpacing( 5 );
00430         Layout6->setMargin( 0 );
00431         TextFont1_2 = new QLabel( tr( "Fonts to embed:" ), GroupFont);
00432         Layout6->addWidget( TextFont1_2 );
00433         EmbedList = new QListWidget( GroupFont);
00434         EmbedList->setMaximumHeight(105);
00435         Layout6->addWidget( EmbedList );
00436 
00437         Layout5_2a = new QHBoxLayout;
00438         Layout5_2a->setSpacing( 5 );
00439         Layout5_2a->setMargin( 0 );
00440         EmbedFonts = new QPushButton( tr( "&Embed all" ), GroupFont);
00441         Layout5_2a->addWidget( EmbedFonts );
00442         QSpacerItem* spacerS1 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
00443         Layout5_2a->addItem( spacerS1 );
00444         ToOutline = new QPushButton(GroupFont);
00445         ToOutline->setIcon(QIcon(loadIcon("22/go-down.png")));
00446         Layout5_2a->addWidget( ToOutline );
00447         FromOutline = new QPushButton(GroupFont);
00448         FromOutline->setIcon(QIcon(loadIcon("22/go-up.png")));
00449         Layout5_2a->addWidget( FromOutline );
00450         QSpacerItem* spacerS2 = new QSpacerItem( 0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum );
00451         Layout5_2a->addItem( spacerS2 );
00452         Layout6->addLayout( Layout5_2a );
00453         TextFont1_2a = new QLabel( tr( "Fonts to outline:" ), GroupFont);
00454         Layout6->addWidget( TextFont1_2a );
00455         OutlineList = new QListWidget( GroupFont );
00456         OutlineList->setMaximumHeight(105);
00457         Layout6->addWidget( OutlineList );
00458         OutlineFonts = new QPushButton( tr( "&Outline all" ), GroupFont);
00459         Layout6->addWidget( OutlineFonts );
00460         GroupFontLayout->addLayout( Layout6 );
00461         tabLayout_3->addWidget( GroupFont );
00462         addTab( tabFonts, tr( "&Fonts" ) );
00463         tabPresentation = new QWidget( this );
00464         tabLayout_5 = new QGridLayout( tabPresentation );
00465         tabLayout_5->setSpacing( 5 );
00466         tabLayout_5->setMargin( 10 );
00467         CheckBox10 = new QCheckBox( tr( "Enable &Presentation Effects" ), tabPresentation);
00468         tabLayout_5->addWidget( CheckBox10, 0, 0, 1, 2 );
00469         Pages = new QListWidget( tabPresentation );
00470 //      Pages->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)1, Pages->sizePolicy().hasHeightForWidth() ) );
00471         tabLayout_5->addWidget( Pages, 1, 0 );
00472         PagePrev = new QCheckBox( tr( "Show Page Pre&views" ), tabPresentation);
00473         tabLayout_5->addWidget( PagePrev, 2, 0 );
00474         Effects = new QGroupBox( tr( "Effects" ), tabPresentation);
00475         EffectsLayout = new QGridLayout( Effects );
00476         EffectsLayout->setAlignment( Qt::AlignTop );
00477         EffectsLayout->setSpacing( 5 );
00478         EffectsLayout->setMargin( 10 );
00479         TextLabel1e = new QLabel( tr( "&Display Duration:" ), Effects);
00480         EffectsLayout->addWidget( TextLabel1e, 0, 0 );
00481         TextLabel2e = new QLabel( tr( "Effec&t Duration:" ), Effects);
00482         EffectsLayout->addWidget( TextLabel2e, 1, 0 );
00483         TextLabel3e = new QLabel( tr( "Effect T&ype:" ), Effects);
00484         EffectsLayout->addWidget( TextLabel3e, 2, 0 );
00485         TextLabel4e = new QLabel( tr( "&Moving Lines:" ), Effects);
00486         EffectsLayout->addWidget( TextLabel4e, 3, 0 );
00487         TextLabel5e = new QLabel( tr( "F&rom the:" ), Effects);
00488         EffectsLayout->addWidget( TextLabel5e, 4, 0 );
00489         TextLabel6e = new QLabel( tr( "D&irection:" ), Effects);
00490         EffectsLayout->addWidget( TextLabel6e, 5, 0 );
00491         PageTime = new QSpinBox( Effects);
00492         PageTime->setSuffix( tr( " sec" ) );
00493         PageTime->setMaximum( 3600 );
00494         PageTime->setMinimum( 0 );
00495         TextLabel1e->setBuddy(PageTime);
00496         EffectsLayout->addWidget( PageTime, 0, 1 );
00497         EffectTime = new QSpinBox( Effects);
00498         EffectTime->setSuffix( tr( " sec" ) );
00499         EffectTime->setMaximum( 3600 );
00500         EffectTime->setMinimum( 1 );
00501         TextLabel2e->setBuddy(EffectTime);
00502         EffectsLayout->addWidget( EffectTime, 1, 1 );
00503         EffectType = new QComboBox(Effects);
00504         QString tmpc[] = { tr("No Effect"), tr("Blinds"), tr("Box"), tr("Dissolve"), tr("Glitter"), tr("Split"), tr("Wipe")};
00505         size_t ar = sizeof(tmpc) / sizeof(*tmpc);
00506         for (uint a = 0; a < ar; ++a)
00507             EffectType->addItem(tmpc[a]);
00508         EffectType->setEditable(false);
00509         TextLabel3e->setBuddy(EffectType);
00510         EffectsLayout->addWidget( EffectType, 2, 1 );
00511         EDirection = new QComboBox(Effects);
00512         EDirection->addItem( tr( "Horizontal" ) );
00513         EDirection->addItem( tr( "Vertical" ) );
00514         EDirection->setEditable(false);
00515         TextLabel4e->setBuddy(EDirection);
00516         EffectsLayout->addWidget( EDirection, 3, 1 );
00517         EDirection_2 = new QComboBox(Effects);
00518         EDirection_2->addItem( tr( "Inside" ) );
00519         EDirection_2->addItem( tr( "Outside" ) );
00520         EDirection_2->setEditable(false);
00521         TextLabel5e->setBuddy(EDirection_2);
00522         EffectsLayout->addWidget( EDirection_2, 4, 1 );
00523         EDirection_2_2 = new QComboBox(Effects);
00524         QString tmp_ed[] = { tr("Left to Right"), tr("Top to Bottom"), tr("Bottom to Top"), tr("Right to Left"),
00525                              tr("Top-left to Bottom-Right")};
00526         size_t ar_ed = sizeof(tmp_ed) / sizeof(*tmp_ed);
00527         for (uint a = 0; a < ar_ed; ++a)
00528             EDirection_2_2->addItem(tmp_ed[a]);
00529         EDirection_2_2->setEditable(false);
00530         TextLabel6e->setBuddy(EDirection_2_2);
00531         EffectsLayout->addWidget( EDirection_2_2, 5, 1 );
00532         EonAllPg = new QPushButton( tr( "&Apply Effect to all Pages" ), Effects);
00533         EffectsLayout->addWidget( EonAllPg, 6, 0, 1, 2 );
00534         tabLayout_5->addWidget( Effects, 1, 1, 2, 1 );
00535         addTab( tabPresentation, tr( "E&xtras" ) );
00536         tabSpecial = new QWidget( this );
00537         tabSpecialLayout = new QVBoxLayout( tabSpecial );
00538         tabSpecialLayout->setSpacing( 5 );
00539         tabSpecialLayout->setMargin( 10 );
00540         groupDisplay = new QGroupBox( tabSpecial );
00541         groupDisplay->setTitle( tr( "Display Settings" ) );
00542         groupDisplayLayout = new QVBoxLayout( groupDisplay );
00543         groupDisplayLayout->setSpacing( 5 );
00544         groupDisplayLayout->setMargin( 10 );
00545         groupDisplayLayout->setAlignment( Qt::AlignTop );
00546         LayoutSpecial = new QHBoxLayout;
00547         LayoutSpecial->setSpacing( 5 );
00548         LayoutSpecial->setMargin( 0 );
00549         pageLayout = new QGroupBox( groupDisplay );
00550         pageLayout->setTitle( tr( "Document Layout" ) );
00551         pageLayoutLayout = new QVBoxLayout( pageLayout );
00552         pageLayoutLayout->setSpacing( 5 );
00553         pageLayoutLayout->setMargin( 10 );
00554         pageLayoutLayout->setAlignment( Qt::AlignTop );
00555         singlePage = new QRadioButton( pageLayout );
00556         singlePage->setText( tr( "Single Page" ) );
00557         pageLayoutLayout->addWidget( singlePage );
00558         continuousPages = new QRadioButton( pageLayout );
00559         continuousPages->setText( tr( "Continuous" ) );
00560         pageLayoutLayout->addWidget( continuousPages );
00561         doublePageLeft = new QRadioButton( pageLayout );
00562         doublePageLeft->setText( tr( "Double Page Left" ) );
00563         pageLayoutLayout->addWidget( doublePageLeft );
00564         doublePageRight = new QRadioButton( pageLayout );
00565         doublePageRight->setText( tr( "Double Page Right" ) );
00566         pageLayoutLayout->addWidget( doublePageRight );
00567         LayoutSpecial->addWidget( pageLayout );
00568         groupNavigation = new QGroupBox( groupDisplay );
00569         groupNavigation->setTitle( tr( "Visual Appearance" ) );
00570         groupNavigationLayout = new QVBoxLayout( groupNavigation );
00571         groupNavigationLayout->setSpacing( 5 );
00572         groupNavigationLayout->setMargin( 10 );
00573         groupNavigationLayout->setAlignment( Qt::AlignTop );
00574         useViewDefault = new QRadioButton( groupNavigation );
00575         useViewDefault->setText( tr( "Use Viewers Defaults" ) );
00576         groupNavigationLayout->addWidget( useViewDefault );
00577         useFullScreen = new QRadioButton( groupNavigation );
00578         useFullScreen->setText( tr( "Use Full Screen Mode" ) );
00579         groupNavigationLayout->addWidget( useFullScreen );
00580         useBookmarks = new QRadioButton( groupNavigation );
00581         useBookmarks->setText( tr( "Display Bookmarks Tab" ) );
00582         groupNavigationLayout->addWidget( useBookmarks );
00583         useThumbnails = new QRadioButton( groupNavigation );
00584         useThumbnails->setText( tr( "Display Thumbnails" ) );
00585         groupNavigationLayout->addWidget( useThumbnails );
00586         useLayers2 = new QRadioButton( groupNavigation );
00587         useLayers2->setText( tr( "Display Layers Tab" ) );
00588         groupNavigationLayout->addWidget( useLayers2 );
00589         hideToolBar = new QCheckBox( tr( "Hide Viewers Toolbar" ), groupNavigation );
00590         groupNavigationLayout->addWidget( hideToolBar );
00591         hideMenuBar = new QCheckBox( tr( "Hide Viewers Menubar" ), groupNavigation );
00592         groupNavigationLayout->addWidget( hideMenuBar );
00593         fitWindow = new QCheckBox( tr( "Zoom Pages to fit Viewer Window" ), groupNavigation );
00594         groupNavigationLayout->addWidget( fitWindow );
00595         LayoutSpecial->addWidget( groupNavigation );
00596         groupDisplayLayout->addLayout( LayoutSpecial );
00597         tabSpecialLayout->addWidget( groupDisplay );
00598         groupJava = new QGroupBox( tabSpecial );
00599         groupJava->setTitle( tr( "Special Actions" ) );
00600         groupJavaLayout = new QHBoxLayout( groupJava );
00601         groupJavaLayout->setSpacing( 5 );
00602         groupJavaLayout->setMargin( 10 );
00603         groupJavaLayout->setAlignment( Qt::AlignTop );
00604         actionLabel = new QLabel( groupJava );
00605         actionLabel->setText( tr( "Javascript to be executed\nwhen PDF document is opened:" ) );
00606         groupJavaLayout->addWidget( actionLabel );
00607         actionCombo = new QComboBox(groupJava);
00608         actionCombo->setEditable(false);
00609         actionCombo->addItem( tr("No Script"));
00610         groupJavaLayout->addWidget( actionCombo );
00611         tabSpecialLayout->addWidget( groupJava );
00612         addTab( tabSpecial, tr("Viewer") );
00613     }
00614 
00615     tabSecurity = new QWidget( this );
00616     tabSecurityLayout = new QVBoxLayout( tabSecurity );
00617     tabSecurityLayout->setSpacing( 5 );
00618     tabSecurityLayout->setMargin( 10 );
00619     Encry = new QCheckBox( tr( "&Use Encryption" ), tabSecurity);
00620     tabSecurityLayout->addWidget( Encry );
00621     GroupPass = new QGroupBox( tr( "Passwords" ), tabSecurity );
00622     GroupPass->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
00623     GroupPassLayout = new QGridLayout( GroupPass );
00624     GroupPassLayout->setSpacing( 5 );
00625     GroupPassLayout->setMargin( 10 );
00626     GroupPassLayout->setAlignment( Qt::AlignTop );
00627     TextSec2 = new QLabel( tr( "&User:" ), GroupPass);
00628     GroupPassLayout->addWidget( TextSec2, 1, 0 );
00629     TextSec1 = new QLabel( tr( "&Owner:" ), GroupPass);
00630     GroupPassLayout->addWidget( TextSec1, 0, 0 );
00631     PassOwner = new QLineEdit( GroupPass );
00632     PassOwner->setEchoMode( QLineEdit::Password );
00633     TextSec1->setBuddy(PassOwner);
00634     GroupPassLayout->addWidget( PassOwner, 0, 1 );
00635     PassUser = new QLineEdit( GroupPass );
00636     PassUser->setEchoMode( QLineEdit::Password );
00637     TextSec2->setBuddy(PassUser);
00638     GroupPassLayout->addWidget( PassUser, 1, 1 );
00639     tabSecurityLayout->addWidget( GroupPass );
00640 
00641     GroupSecSet = new QGroupBox( tr( "Settings" ), tabSecurity);
00642     GroupSecSet->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
00643     GroupSecSetLayout = new QVBoxLayout( GroupSecSet );
00644     GroupSecSetLayout->setSpacing( 5 );
00645     GroupSecSetLayout->setMargin( 10 );
00646     GroupSecSetLayout->setAlignment( Qt::AlignTop );
00647     PrintSec = new QCheckBox( tr( "Allow &Printing the Document" ), GroupSecSet);
00648     GroupSecSetLayout->addWidget( PrintSec );
00649     ModifySec = new QCheckBox( tr( "Allow &Changing the Document" ), GroupSecSet);
00650     GroupSecSetLayout->addWidget( ModifySec );
00651     CopySec = new QCheckBox( tr( "Allow Cop&ying Text and Graphics" ), GroupSecSet);
00652     GroupSecSetLayout->addWidget( CopySec );
00653     AddSec = new QCheckBox( tr( "Allow Adding &Annotations and Fields" ), GroupSecSet);
00654     GroupSecSetLayout->addWidget( AddSec );
00655     tabSecurityLayout->addWidget( GroupSecSet );
00656     addTab( tabSecurity, tr( "S&ecurity" ) );
00657 
00658     tabColor = new QWidget( this );
00659     tabColorLayout = new QVBoxLayout( tabColor );
00660     tabColorLayout->setSpacing( 5 );
00661     tabColorLayout->setMargin( 10 );
00662     ColorGroup = new QGroupBox( tr( "General" ), tabColor);
00663     ColorGroupLayout = new QHBoxLayout( ColorGroup );
00664     ColorGroupLayout->setSpacing( 5 );
00665     ColorGroupLayout->setMargin( 10 );
00666     ColorGroupLayout->setAlignment( Qt::AlignTop );
00667     ColorText1 = new QLabel( tr( "Output &Intended For:" ), ColorGroup );
00668