Author: jghali Date: Sat Mar 17 00:46:54 2018 New Revision: 22438 URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22438 Log: #15195: pdf export: do not remove the "unavailable" pdf standards, gray them out
Added: trunk/Scribus/scribus/ui/pdfversioncombo.cpp trunk/Scribus/scribus/ui/pdfversioncombo.h trunk/Scribus/scribus/ui/pdfversionmodel.cpp trunk/Scribus/scribus/ui/pdfversionmodel.h Modified: trunk/Scribus/scribus/CMakeLists.txt trunk/Scribus/scribus/ui/prefs_pdfexport.cpp trunk/Scribus/scribus/ui/prefs_pdfexportbase.ui trunk/Scribus/scribus/ui/tabpdfoptions.cpp trunk/Scribus/scribus/ui/tabpdfoptions.ui trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters Modified: trunk/Scribus/scribus/CMakeLists.txt URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22438&path=/trunk/Scribus/scribus/CMakeLists.txt ============================================================================== --- trunk/Scribus/scribus/CMakeLists.txt (original) +++ trunk/Scribus/scribus/CMakeLists.txt Sat Mar 17 00:46:54 2018 @@ -416,6 +416,8 @@ ui/pageselector.h ui/patternpropsdialog.h ui/pdfexportdialog.h + ui/pdfversioncombo.h + ui/pdfversionmodel.h ui/picsearch.h ui/picsearchoptions.h ui/picstatus.h @@ -910,6 +912,8 @@ ui/pageselector.cpp ui/patternpropsdialog.cpp ui/pdfexportdialog.cpp + ui/pdfversioncombo.cpp + ui/pdfversionmodel.cpp ui/picsearch.cpp ui/picsearchoptions.cpp ui/picstatus.cpp Modified: trunk/Scribus/scribus/ui/prefs_pdfexport.cpp URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22438&path=/trunk/Scribus/scribus/ui/prefs_pdfexport.cpp ============================================================================== --- trunk/Scribus/scribus/ui/prefs_pdfexport.cpp (original) +++ trunk/Scribus/scribus/ui/prefs_pdfexport.cpp Sat Mar 17 00:46:54 2018 @@ -270,23 +270,9 @@ pageMirrorVerticalToolButton->setChecked(prefsData->pdfPrefs.MirrorV); clipToPrinterMarginsCheckBox->setChecked(prefsData->pdfPrefs.doClip); bool cmsUse = m_doc ? (ScCore->haveCMS() && m_doc->HasCMS) : false; - int newCMSIndex=0; - if (cmsUse) - { - if (prefsData->pdfPrefs.Version == PDFOptions::PDFVersion_X1a) - newCMSIndex=3; - if (prefsData->pdfPrefs.Version == PDFOptions::PDFVersion_X3) - newCMSIndex=4; - if (prefsData->pdfPrefs.Version == PDFOptions::PDFVersion_X4) - newCMSIndex=5; - } - if (prefsData->pdfPrefs.Version == PDFOptions::PDFVersion_13) - newCMSIndex=0; - if (prefsData->pdfPrefs.Version == PDFOptions::PDFVersion_14) - newCMSIndex=1; - if (prefsData->pdfPrefs.Version == PDFOptions::PDFVersion_15) - newCMSIndex=2; - pdfVersionComboBox->setCurrentIndex(newCMSIndex); + if (!cmsUse) + pdfVersionComboBox->setVersion(PDFOptions::PDFVersion_14); + pdfVersionComboBox->setVersion(prefsData->pdfPrefs.Version); pageBindingComboBox->setCurrentIndex(prefsData->pdfPrefs.Binding); generateThumbnailsCheckBox->setChecked(prefsData->pdfPrefs.Thumbnails); saveLinkedTextFramesAsArticlesCheckBox->setChecked(prefsData->pdfPrefs.Articles); @@ -724,18 +710,7 @@ prefsData->pdfPrefs.PassOwner = passwordOwnerLineEdit->text(); prefsData->pdfPrefs.PassUser = passwordUserLineEdit->text(); } - if (pdfVersionComboBox->currentIndex() == 0) - prefsData->pdfPrefs.Version = PDFOptions::PDFVersion_13; - if (pdfVersionComboBox->currentIndex() == 1) - prefsData->pdfPrefs.Version = PDFOptions::PDFVersion_14; - if (pdfVersionComboBox->currentIndex() == 2) - prefsData->pdfPrefs.Version = PDFOptions::PDFVersion_15; - if (pdfVersionComboBox->currentIndex() == 3) - prefsData->pdfPrefs.Version = PDFOptions::PDFVersion_X1a; - if (pdfVersionComboBox->currentIndex() == 4) - prefsData->pdfPrefs.Version = PDFOptions::PDFVersion_X3; - if (pdfVersionComboBox->currentIndex() == 5) - prefsData->pdfPrefs.Version = PDFOptions::PDFVersion_X4; + prefsData->pdfPrefs.Version = pdfVersionComboBox->version(); if (outputIntentionComboBox->currentIndex() == 0) { prefsData->pdfPrefs.isGrayscale = false; @@ -852,7 +827,7 @@ { enableLPI(i); bool setter = false; - if (i == 1 && pdfVersionComboBox->currentIndex() != 3) + if (i == 1 && (!pdfVersionComboBox->versionIs(PDFOptions::PDFVersion_X1a))) setter = true; enableSolidsImagesWidgets(setter); } @@ -1123,20 +1098,11 @@ void Prefs_PDFExport::addPDFVersions(bool addPDFXStrings) { disconnect(pdfVersionComboBox, SIGNAL(activated(int)), this, SLOT(enablePDFX(int))); - int i = pdfVersionComboBox->currentIndex(); - pdfVersionComboBox->clear(); - pdfVersionComboBox->addItem("PDF 1.3 (Acrobat 4)"); - pdfVersionComboBox->addItem("PDF 1.4 (Acrobat 5)"); - pdfVersionComboBox->addItem("PDF 1.5 (Acrobat 6)"); - if (addPDFXStrings) - { - pdfVersionComboBox->addItem("PDF/X-1a"); - pdfVersionComboBox->addItem("PDF/X-3"); - pdfVersionComboBox->addItem("PDF/X-4"); - } - else - i=qMin(i,2); - pdfVersionComboBox->setCurrentIndex(i); + PDFOptions::PDFVersion currVersion = pdfVersionComboBox->version(); + pdfVersionComboBox->setPDFXEnabled(addPDFXStrings); + if (!addPDFXStrings) + currVersion = qMax(PDFOptions::PDFVersion_13, qMin(currVersion, PDFOptions::PDFVersion_15)); + pdfVersionComboBox->setVersion(currVersion); connect(pdfVersionComboBox, SIGNAL(activated(int)), this, SLOT(enablePDFX(int))); } @@ -1307,20 +1273,20 @@ void Prefs_PDFExport::SelSFont(QListWidgetItem *c) { - if (c != NULL) - { - if (pdfVersionComboBox->currentIndex() == 4) - { - if ((AllFonts[c->text()].type() == ScFace::OTF) || (AllFonts[c->text()].subset())) - fromSubsetButton->setEnabled(false); - else - fromSubsetButton->setEnabled(true); - } + if (!c) + return; + + if (pdfVersionComboBox->versionIsPDFX()) + { + if ((AllFonts[c->text()].type() == ScFace::OTF) || (AllFonts[c->text()].subset())) + fromSubsetButton->setEnabled(false); else fromSubsetButton->setEnabled(true); - toSubsetButton->setEnabled(false); - embeddedFontsListWidget->clearSelection(); - } + } + else + fromSubsetButton->setEnabled(true); + toSubsetButton->setEnabled(false); + embeddedFontsListWidget->clearSelection(); } void Prefs_PDFExport::PagePr() Modified: trunk/Scribus/scribus/ui/prefs_pdfexportbase.ui URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22438&path=/trunk/Scribus/scribus/ui/prefs_pdfexportbase.ui ============================================================================== --- trunk/Scribus/scribus/ui/prefs_pdfexportbase.ui (original) +++ trunk/Scribus/scribus/ui/prefs_pdfexportbase.ui Sat Mar 17 00:46:54 2018 @@ -275,7 +275,7 @@ </widget> </item> <item row="0" column="1"> - <widget class="QComboBox" name="pdfVersionComboBox"/> + <widget class="PdfVersionCombo" name="pdfVersionComboBox"/> </item> <item row="1" column="0"> <widget class="QLabel" name="label_10"> @@ -681,7 +681,7 @@ <rect> <x>0</x> <y>0</y> - <width>577</width> + <width>266</width> <height>606</height> </rect> </property> @@ -1008,7 +1008,7 @@ <rect> <x>0</x> <y>0</y> - <width>577</width> + <width>313</width> <height>436</height> </rect> </property> @@ -1798,6 +1798,11 @@ <extends>QWidget</extends> <header location="global">ui/newmarginwidget.h</header> <container>1</container> + </customwidget> + <customwidget> + <class>PdfVersionCombo</class> + <extends>QComboBox</extends> + <header>ui/pdfversioncombo.h</header> </customwidget> </customwidgets> <tabstops> Modified: trunk/Scribus/scribus/ui/tabpdfoptions.cpp URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22438&path=/trunk/Scribus/scribus/ui/tabpdfoptions.cpp ============================================================================== --- trunk/Scribus/scribus/ui/tabpdfoptions.cpp (original) +++ trunk/Scribus/scribus/ui/tabpdfoptions.cpp Sat Mar 17 00:46:54 2018 @@ -27,6 +27,7 @@ #include <QListWidgetItem> #include <QPixmap> #include <QPushButton> +#include <QSignalBlocker> #include <QSpacerItem> #include <QSpinBox> #include <QStandardItem> @@ -71,16 +72,8 @@ MirrorV->setCheckable( true ); fileOptionsLayout->setAlignment( Qt::AlignTop ); - PDFVersionCombo->addItem("PDF 1.3 (Acrobat 4)"); - PDFVersionCombo->addItem("PDF 1.4 (Acrobat 5)"); - PDFVersionCombo->addItem("PDF 1.5 (Acrobat 6)"); cms = (ScCore->haveCMS() && m_Doc->HasCMS); - if (cms && (!PDFXProfiles.isEmpty())) - { - PDFVersionCombo->addItem("PDF/X-1a"); - PDFVersionCombo->addItem("PDF/X-3"); - PDFVersionCombo->addItem("PDF/X-4"); - } + PDFVersionCombo->setPDFXEnabled(cms && (!PDFXProfiles.isEmpty())); Resolution->setMaximum( 4000 ); Resolution->setMinimum( 35 ); Resolution->setSuffix( tr( " dpi" ) ); @@ -354,23 +347,9 @@ MirrorV->setChecked(Opts.MirrorV); ClipMarg->setChecked(Opts.doClip); bool cmsUse = (ScCore->haveCMS() && m_Doc->HasCMS); - if (cmsUse) - { - if (Opts.Version == PDFOptions::PDFVersion_X1a) - PDFVersionCombo->setCurrentIndex(3); - if (Opts.Version == PDFOptions::PDFVersion_X3) - PDFVersionCombo->setCurrentIndex(4); - if (Opts.Version == PDFOptions::PDFVersion_X4) - PDFVersionCombo->setCurrentIndex(5); - } - else - PDFVersionCombo->setCurrentIndex(0); - if (Opts.Version == PDFOptions::PDFVersion_13) - PDFVersionCombo->setCurrentIndex(0); - if (Opts.Version == PDFOptions::PDFVersion_14) - PDFVersionCombo->setCurrentIndex(1); - if (Opts.Version == PDFOptions::PDFVersion_15) - PDFVersionCombo->setCurrentIndex(2); + if (!cmsUse) + PDFVersionCombo->setVersion(PDFOptions::PDFVersion_14); + PDFVersionCombo->setVersion(Opts.Version); ComboBind->setCurrentIndex(Opts.Binding); CheckBox1->setChecked(Opts.Thumbnails); Article->setChecked(Opts.Articles); @@ -783,18 +762,7 @@ pdfOptions.PassOwner = PassOwner->text(); pdfOptions.PassUser = PassUser->text(); } - if (PDFVersionCombo->currentIndex() == 0) - pdfOptions.Version = PDFOptions::PDFVersion_13; - if (PDFVersionCombo->currentIndex() == 1) - pdfOptions.Version = PDFOptions::PDFVersion_14; - if (PDFVersionCombo->currentIndex() == 2) - pdfOptions.Version = PDFOptions::PDFVersion_15; - if (PDFVersionCombo->currentIndex() == 3) - pdfOptions.Version = PDFOptions::PDFVersion_X1a; - if (PDFVersionCombo->currentIndex() == 4) - pdfOptions.Version = PDFOptions::PDFVersion_X3; - if (PDFVersionCombo->currentIndex() == 5) - pdfOptions.Version = PDFOptions::PDFVersion_X4; + pdfOptions.Version = PDFVersionCombo->version(); if (OutCombo->currentIndex() == 0) { pdfOptions.isGrayscale = false; @@ -862,7 +830,7 @@ void TabPDFOptions::checkInfo() { - if ((PDFVersionCombo->currentIndex() >= 3) && (InfoString->text().isEmpty())) + if ((PDFVersionCombo->versionIsPDFX()) && (InfoString->text().isEmpty())) emit noInfo(); else emit hasInfo(); @@ -877,24 +845,14 @@ void TabPDFOptions::enableCMS(bool enable) { - disconnect(PDFVersionCombo, SIGNAL(activated(int)), this, SLOT(EnablePDFX(int))); - int a = PDFVersionCombo->currentIndex(); - PDFVersionCombo->clear(); - PDFVersionCombo->addItem("PDF 1.3 (Acrobat 4)"); - PDFVersionCombo->addItem("PDF 1.4 (Acrobat 5)"); - PDFVersionCombo->addItem("PDF 1.5 (Acrobat 6)"); - cms=enable; - if (enable) - { - PDFVersionCombo->addItem("PDF/X-1a"); - PDFVersionCombo->addItem("PDF/X-3"); - PDFVersionCombo->addItem("PDF/X-4"); - } - else - a = qMin(a, 2); - PDFVersionCombo->setCurrentIndex(a); + QSignalBlocker blocker(PDFVersionCombo); + PDFOptions::PDFVersion currVersion = PDFVersionCombo->version(); + PDFVersionCombo->setPDFXEnabled(enable); + cms = enable; + if (!enable) + currVersion = qMax(PDFOptions::PDFVersion_13, qMin(currVersion, PDFOptions::PDFVersion_15)); + PDFVersionCombo->setVersion(currVersion); EnablePr(1); - connect(PDFVersionCombo, SIGNAL(activated(int)), this, SLOT(EnablePDFX(int))); } void TabPDFOptions::EnablePDFX(int a) @@ -1046,12 +1004,7 @@ EnableLPI(a); bool setter = false; if (a == 1) - { - if (PDFVersionCombo->currentIndex() == 3) - setter = false; - else - setter = true; - } + setter = !PDFVersionCombo->versionIs(PDFOptions::PDFVersion_X1a); solidsProfileGroup->setEnabled(setter); imageProfileGroup->setEnabled(setter); Modified: trunk/Scribus/scribus/ui/tabpdfoptions.ui URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22438&path=/trunk/Scribus/scribus/ui/tabpdfoptions.ui ============================================================================== --- trunk/Scribus/scribus/ui/tabpdfoptions.ui (original) +++ trunk/Scribus/scribus/ui/tabpdfoptions.ui Sat Mar 17 00:46:54 2018 @@ -212,7 +212,7 @@ </widget> </item> <item row="0" column="1" colspan="2"> - <widget class="QComboBox" name="PDFVersionCombo"> + <widget class="PdfVersionCombo" name="PDFVersionCombo"> <property name="editable"> <bool>false</bool> </property> @@ -1914,6 +1914,11 @@ <class>FontEmbeddingCombo</class> <extends>QComboBox</extends> <header>ui/fontembeddingcombo.h</header> + </customwidget> + <customwidget> + <class>PdfVersionCombo</class> + <extends>QComboBox</extends> + <header>ui/pdfversioncombo.h</header> </customwidget> </customwidgets> <tabstops> Modified: trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22438&path=/trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj ============================================================================== --- trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj (original) +++ trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj Sat Mar 17 00:46:54 2018 @@ -601,6 +601,8 @@ <moc Include="..\..\..\scribus\ui\pagepropertiesdialog.h" /> <moc Include="..\..\..\scribus\ui\fontembeddingcombo.h" /> <moc Include="..\..\..\scribus\ui\fontembeddingmodel.h" /> + <moc Include="..\..\..\scribus\ui\pdfversioncombo.h" /> + <moc Include="..\..\..\scribus\ui\pdfversionmodel.h" /> <ClInclude Include="..\..\..\scribus\ui\propertywidgetbase.h" /> <moc Include="..\..\..\scribus\pslib.h" /> <moc Include="..\..\..\scribus\ui\query.h" /> @@ -1198,6 +1200,8 @@ <ClCompile Include="..\..\..\scribus\pdfoptionsio.cpp" /> <ClCompile Include="..\..\..\scribus\ui\pdfexportdialog.cpp" /> <ClCompile Include="..\..\..\scribus\ui\pdftoolbar.cpp" /> + <ClCompile Include="..\..\..\scribus\ui\pdfversioncombo.cpp" /> + <ClCompile Include="..\..\..\scribus\ui\pdfversionmodel.cpp" /> <ClCompile Include="..\..\..\scribus\ui\picsearch.cpp" /> <ClCompile Include="..\..\..\scribus\ui\picsearchoptions.cpp" /> <ClCompile Include="..\..\..\scribus\ui\picstatus.cpp" /> Modified: trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22438&path=/trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters ============================================================================== --- trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters (original) +++ trunk/Scribus/win32/msvc2012/scribus-main/Scribus.vcxproj.filters Sat Mar 17 00:46:54 2018 @@ -791,6 +791,12 @@ <ClInclude Include="..\..\..\scribus\colormgmt\sce308tables.h"> <Filter>colorMgmt</Filter> </ClInclude> + <ClInclude Include="..\..\..\scribus\ui\pdfversioncombo.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\scribus\ui\pdfversionmodel.h"> + <Filter>Header Files</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\..\scribus\desaxe\digester.cpp"> @@ -2460,6 +2466,12 @@ </ClInclude> <ClCompile Include="..\..\..\scribus\colormgmt\sce308tables.cpp"> <Filter>colorMgmt</Filter> + </ClCompile> + <ClCompile Include="..\..\..\scribus\ui\pdfversioncombo.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\scribus\ui\pdfversionmodel.cpp"> + <Filter>Source Files</Filter> </ClCompile> </ItemGroup> <ItemGroup> Modified: trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22438&path=/trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj ============================================================================== --- trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj (original) +++ trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj Sat Mar 17 00:46:54 2018 @@ -601,6 +601,8 @@ <moc Include="..\..\..\scribus\ui\pagepropertiesdialog.h" /> <moc Include="..\..\..\scribus\ui\fontembeddingcombo.h" /> <moc Include="..\..\..\scribus\ui\fontembeddingmodel.h" /> + <moc Include="..\..\..\scribus\ui\pdfversioncombo.h" /> + <moc Include="..\..\..\scribus\ui\pdfversionmodel.h" /> <ClInclude Include="..\..\..\scribus\ui\propertywidgetbase.h" /> <moc Include="..\..\..\scribus\pslib.h" /> <moc Include="..\..\..\scribus\ui\query.h" /> @@ -1198,6 +1200,8 @@ <ClCompile Include="..\..\..\scribus\pdfoptionsio.cpp" /> <ClCompile Include="..\..\..\scribus\ui\pdfexportdialog.cpp" /> <ClCompile Include="..\..\..\scribus\ui\pdftoolbar.cpp" /> + <ClCompile Include="..\..\..\scribus\ui\pdfversioncombo.cpp" /> + <ClCompile Include="..\..\..\scribus\ui\pdfversionmodel.cpp" /> <ClCompile Include="..\..\..\scribus\ui\picsearch.cpp" /> <ClCompile Include="..\..\..\scribus\ui\picsearchoptions.cpp" /> <ClCompile Include="..\..\..\scribus\ui\picstatus.cpp" /> Modified: trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=22438&path=/trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters ============================================================================== --- trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters (original) +++ trunk/Scribus/win32/msvc2015/scribus-main/Scribus.vcxproj.filters Sat Mar 17 00:46:54 2018 @@ -791,6 +791,12 @@ <ClInclude Include="..\..\..\scribus\colormgmt\sce308tables.h"> <Filter>colorMgmt</Filter> </ClInclude> + <ClInclude Include="..\..\..\scribus\ui\pdfversioncombo.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\scribus\ui\pdfversionmodel.h"> + <Filter>Header Files</Filter> + </ClInclude> </ItemGroup> <ItemGroup> <ClCompile Include="..\..\..\scribus\desaxe\digester.cpp"> @@ -2460,6 +2466,12 @@ </ClCompile> <ClCompile Include="..\..\..\scribus\colormgmt\sce308tables.cpp"> <Filter>colorMgmt</Filter> + </ClCompile> + <ClCompile Include="..\..\..\scribus\ui\pdfversioncombo.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\scribus\ui\pdfversionmodel.cpp"> + <Filter>Source Files</Filter> </ClCompile> </ItemGroup> <ItemGroup> _______________________________________________ scribus-commit mailing list scribus-commit@lists.scribus.net http://lists.scribus.net/mailman/listinfo/scribus-commit