summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorMuhammet Kara <muhammet.kara@collabora.com>2019-09-23 13:07:49 +0300
committerAndras Timar <andras.timar@collabora.com>2019-09-23 16:54:53 +0200
commit079cd016408d54d91e6e8bfdafa150d30681bbcb (patch)
tree7bb88cbc2647d706101b708630fda1cd484a5121 /filter
parenta61fb06583ea67c97eea7a1ea6d3db68c83d338c (diff)
Add 'SinglePageSheets' option to the PDF export dialog
This handles the UI, and carrying the filter option to the pdfexport code. It will be handled in PDFExport class. Change-Id: I92c3f14a4ae38c4ab81f4f9eee63e5f3c864d0a6 Reviewed-on: https://gerrit.libreoffice.org/79397 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com>
Diffstat (limited to 'filter')
-rw-r--r--filter/source/pdf/impdialog.cxx19
-rw-r--r--filter/source/pdf/impdialog.hxx2
-rw-r--r--filter/source/pdf/pdfexport.cxx4
-rw-r--r--filter/source/pdf/pdfexport.hxx1
-rw-r--r--filter/source/pdf/pdffilter.cxx1
-rw-r--r--filter/uiconfig/ui/pdfgeneralpage.ui21
6 files changed, 44 insertions, 4 deletions
diff --git a/filter/source/pdf/impdialog.cxx b/filter/source/pdf/impdialog.cxx
index b2e3b1fa3fd6..72607d3e9904 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -86,7 +86,8 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue
mbExportFormFieldsUserSelection( true ),
mbAllowDuplicateFieldNames( false ),
mbExportBookmarks( true ),
- mbExportHiddenSlides ( false),
+ mbExportHiddenSlides ( false ),
+ mbSinglePageSheets ( false ),
mnOpenBookmarkLevels( -1 ),
mbHideViewerToolbar( false ),
@@ -200,6 +201,8 @@ ImpPDFTabDialog::ImpPDFTabDialog(weld::Window* pParent, Sequence< PropertyValue
mbExportBookmarks = maConfigItem.ReadBool( "ExportBookmarks", true );
if ( mbIsPresentation )
mbExportHiddenSlides = maConfigItem.ReadBool( "ExportHiddenSlides", false );
+ if ( mbIsSpreadsheet )
+ mbSinglePageSheets = maConfigItem.ReadBool( "SinglePageSheets", false );
mnOpenBookmarkLevels = maConfigItem.ReadInt32( "OpenBookmarkLevels", -1 );
mbUseTransitionEffects = maConfigItem.ReadBool( "UseTransitionEffects", true );
mbIsSkipEmptyPages = maConfigItem.ReadBool( "IsSkipEmptyPages", false );
@@ -388,6 +391,8 @@ Sequence< PropertyValue > ImpPDFTabDialog::GetFilterData()
maConfigItem.WriteBool( "ExportBookmarks", mbExportBookmarks );
if ( mbIsPresentation )
maConfigItem.WriteBool( "ExportHiddenSlides", mbExportHiddenSlides );
+ if ( mbIsSpreadsheet )
+ maConfigItem.WriteBool( "SinglePageSheets", mbSinglePageSheets );
maConfigItem.WriteBool( "UseTransitionEffects", mbUseTransitionEffects );
maConfigItem.WriteBool( "IsSkipEmptyPages", mbIsSkipEmptyPages );
maConfigItem.WriteBool( "ExportPlaceholders", mbIsExportPlaceholders );
@@ -480,6 +485,7 @@ ImpPDFTabGeneralPage::ImpPDFTabGeneralPage(TabPageParent pParent, const SfxItemS
, mxCbAllowDuplicateFieldNames(m_xBuilder->weld_check_button("allowdups"))
, mxCbExportBookmarks(m_xBuilder->weld_check_button("bookmarks"))
, mxCbExportHiddenSlides(m_xBuilder->weld_check_button("hiddenpages"))
+ , mxCbSinglePageSheets(m_xBuilder->weld_check_button("singlepagesheets"))
, mxCbExportNotes(m_xBuilder->weld_check_button("comments"))
, mxCbViewPDF(m_xBuilder->weld_check_button("viewpdf"))
, mxCbUseReferenceXObject(m_xBuilder->weld_check_button("usereferencexobject"))
@@ -601,6 +607,14 @@ void ImpPDFTabGeneralPage::SetFilterConfigItem(ImpPDFTabDialog* pParent)
mxRbSelection->set_label(mxSheetsFt->get_label());
// tdf#105965 Make Selection/Selected sheets the default PDF export range setting for spreadsheets
mxRbSelection->set_active(true);
+
+ mxCbSinglePageSheets->show();
+ mxCbSinglePageSheets->set_active(pParent->mbSinglePageSheets);
+ }
+ else
+ {
+ mxCbSinglePageSheets->show(false);
+ mxCbSinglePageSheets->set_active(false);
}
mxCbExportPlaceholders->show(mbIsWriter);
@@ -637,6 +651,9 @@ void ImpPDFTabGeneralPage::GetFilterConfigItem( ImpPDFTabDialog* pParent )
if ( mbIsPresentation )
pParent->mbExportHiddenSlides = mxCbExportHiddenSlides->get_active();
+ if (mbIsSpreadsheet)
+ pParent->mbSinglePageSheets = mxCbSinglePageSheets->get_active();
+
pParent->mbIsSkipEmptyPages = !mxCbExportEmptyPages->get_active();
pParent->mbIsExportPlaceholders = mxCbExportPlaceholders->get_active();
pParent->mbAddStream = mxCbAddStream->get_visible() && mxCbAddStream->get_active();
diff --git a/filter/source/pdf/impdialog.hxx b/filter/source/pdf/impdialog.hxx
index 768ab2ac96a8..c41b9a22676e 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -90,6 +90,7 @@ class ImpPDFTabDialog final : public SfxTabDialogController
bool mbAllowDuplicateFieldNames;
bool mbExportBookmarks;
bool mbExportHiddenSlides;
+ bool mbSinglePageSheets;
sal_Int32 mnOpenBookmarkLevels;
bool mbHideViewerToolbar;
@@ -192,6 +193,7 @@ class ImpPDFTabGeneralPage : public SfxTabPage
std::unique_ptr<weld::CheckButton> mxCbAllowDuplicateFieldNames;
std::unique_ptr<weld::CheckButton> mxCbExportBookmarks;
std::unique_ptr<weld::CheckButton> mxCbExportHiddenSlides;
+ std::unique_ptr<weld::CheckButton> mxCbSinglePageSheets;
std::unique_ptr<weld::CheckButton> mxCbExportNotes;
std::unique_ptr<weld::CheckButton> mxCbViewPDF;
std::unique_ptr<weld::CheckButton> mxCbUseReferenceXObject;
diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx
index 12dea0a241ca..63d7d79aa046 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -101,6 +101,7 @@ PDFExport::PDFExport( const Reference< XComponent >& rxSrcDoc,
mbUseTransitionEffects ( true ),
mbExportBookmarks ( true ),
mbExportHiddenSlides ( false ),
+ mbSinglePageSheets ( false ),
mnOpenBookmarkLevels ( -1 ),
mbUseLosslessCompression ( false ),
mbReduceImageResolution ( true ),
@@ -558,6 +559,8 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
rFilterData[ nData ].Value >>= mbExportBookmarks;
else if ( rFilterData[ nData ].Name == "ExportHiddenSlides" )
rFilterData[ nData ].Value >>= mbExportHiddenSlides;
+ else if ( rFilterData[ nData ].Name == "SinglePageSheets" )
+ rFilterData[ nData ].Value >>= mbSinglePageSheets;
else if ( rFilterData[ nData ].Name == "OpenBookmarkLevels" )
rFilterData[ nData ].Value >>= mnOpenBookmarkLevels;
else if ( rFilterData[ nData ].Name == "SignPDF" )
@@ -837,6 +840,7 @@ bool PDFExport::Export( const OUString& rFile, const Sequence< PropertyValue >&
pPDFExtOutDevData->SetIsExportFormFields( mbExportFormFields );
pPDFExtOutDevData->SetIsExportBookmarks( mbExportBookmarks );
pPDFExtOutDevData->SetIsExportHiddenSlides( mbExportHiddenSlides );
+ pPDFExtOutDevData->SetIsSinglePageSheets( mbSinglePageSheets );
pPDFExtOutDevData->SetIsLosslessCompression( mbUseLosslessCompression );
pPDFExtOutDevData->SetCompressionQuality( mnQuality );
pPDFExtOutDevData->SetIsReduceImageResolution( mbReduceImageResolution );
diff --git a/filter/source/pdf/pdfexport.hxx b/filter/source/pdf/pdfexport.hxx
index 6d2d1ffd63e7..f133e12c5ffa 100644
--- a/filter/source/pdf/pdfexport.hxx
+++ b/filter/source/pdf/pdfexport.hxx
@@ -51,6 +51,7 @@ private:
bool mbUseTransitionEffects;
bool mbExportBookmarks;
bool mbExportHiddenSlides;
+ bool mbSinglePageSheets;
sal_Int32 mnOpenBookmarkLevels;
bool mbUseLosslessCompression;
diff --git a/filter/source/pdf/pdffilter.cxx b/filter/source/pdf/pdffilter.cxx
index 872c515e0543..78f7c8a8b8be 100644
--- a/filter/source/pdf/pdffilter.cxx
+++ b/filter/source/pdf/pdffilter.cxx
@@ -115,6 +115,7 @@ bool PDFFilter::implExport( const Sequence< PropertyValue >& rDescriptor )
aCfgItem.ReadBool( "ExportBookmarks", true );
aCfgItem.ReadBool( "ExportHiddenSlides", false );
+ aCfgItem.ReadBool( "SinglePageSheets", false );
aCfgItem.ReadInt32( "OpenBookmarkLevels", -1 );
aCfgItem.ReadBool( "IsRedactMode", false);
diff --git a/filter/uiconfig/ui/pdfgeneralpage.ui b/filter/uiconfig/ui/pdfgeneralpage.ui
index 631b31cee483..aee2993b5f6a 100644
--- a/filter/uiconfig/ui/pdfgeneralpage.ui
+++ b/filter/uiconfig/ui/pdfgeneralpage.ui
@@ -631,7 +631,7 @@
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">11</property>
+ <property name="top_attach">12</property>
</packing>
</child>
<child>
@@ -646,7 +646,7 @@
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">12</property>
+ <property name="top_attach">13</property>
</packing>
</child>
<child>
@@ -661,7 +661,7 @@
</object>
<packing>
<property name="left_attach">0</property>
- <property name="top_attach">13</property>
+ <property name="top_attach">14</property>
</packing>
</child>
<child>
@@ -716,6 +716,21 @@
<property name="top_attach">9</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="singlepagesheets">
+ <property name="label" translatable="yes" context="pdfgeneralpage|singlepagesheets">Single-page sheets</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="xalign">0</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">11</property>
+ </packing>
+ </child>
</object>
</child>
</object>