Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/3763
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/corerefs/changes/63/3763/1
fdo#37222 and fdo#37219 Open pdf after Export and added to recent
documents.
Added an checkbox option "View PDF after Export" in Export as Pdf Dialog
Box .
If a user ticks the checkbox , pdf file will be opened after export
else only export will be done .
Goto File > Export as PDF >> Tick the checkbox "View PDF after Export "
to observe changes .
Change-Id: I6717c08348d2df72b6ad79c163216e5bf01b196c
---
M filter/source/pdf/impdialog.cxx
M filter/source/pdf/impdialog.hrc
M filter/source/pdf/impdialog.hxx
M filter/source/pdf/impdialog.src
M filter/source/pdf/pdfexport.cxx
M filter/source/pdf/pdfexport.hxx
M filter/source/pdf/pdffilter.cxx
M officecfg/registry/data/org/openoffice/Office/WebWizard.xcu
M officecfg/registry/schema/org/openoffice/Office/Common.xcs
M vcl/inc/vcl/pdfextoutdevdata.hxx
M vcl/source/gdi/pdfextoutdevdata.cxx
11 files changed, 60 insertions(+), 0 deletions(-)
diff --git a/filter/source/pdf/impdialog.cxx
b/filter/source/pdf/impdialog.cxx
index 9ddf052..d265328 100644
--- a/filter/source/pdf/impdialog.cxx
+++ b/filter/source/pdf/impdialog.cxx
@@ -80,6 +80,7 @@
mnMaxImageResolution( 300 ),
mbUseTaggedPDF( sal_False ),
mbExportNotes( sal_True ),
+ mbViewPDF( sal_False ),
mbExportNotesPages( sal_False ),
mbUseTransitionEffects( sal_False ),
mbIsSkipEmptyPages( sal_True ),
@@ -192,6 +193,7 @@
if ( mbIsPresentation )
mbExportNotesPages = maConfigItem.ReadBool( "ExportNotesPages",
sal_False );
mbExportNotes = maConfigItem.ReadBool( "ExportNotes", sal_False );
+ mbViewPDF = maConfigItem.ReadBool( "ViewPDFAfterExport", sal_False );
mbExportBookmarks = maConfigItem.ReadBool( "ExportBookmarks",
sal_True );
if ( mbIsPresentation )
@@ -360,6 +362,7 @@
if ( mbIsPresentation )
maConfigItem.WriteBool( "ExportNotesPages", mbExportNotesPages );
maConfigItem.WriteBool( "ExportNotes", mbExportNotes );
+ maConfigItem.WriteBool( "ViewPDFAfterExport", mbViewPDF );
maConfigItem.WriteBool( "ExportBookmarks", mbExportBookmarks );
if ( mbIsPresentation )
@@ -511,6 +514,7 @@
maCbExportBookmarks( this, PDFFilterResId( CB_EXPORTBOOKMARKS ) ),
maCbExportHiddenSlides( this, PDFFilterResId( CB_EXPORTHIDDENSLIDES )
),
maCbExportNotes( this, PDFFilterResId( CB_EXPORTNOTES ) ),
+ maCbViewPDF( this, PDFFilterResId( CB_VIEWPDF ) ),
maCbExportNotesPages( this, PDFFilterResId( CB_EXPORTNOTESPAGES ) ),
maCbExportEmptyPages( this, PDFFilterResId( CB_EXPORTEMPTYPAGES ) ),
maCbAddStream( this, PDFFilterResId( CB_ADDSTREAM ) ),
@@ -624,6 +628,7 @@
maCbExportBookmarks.Check( paParent->mbExportBookmarks );
maCbExportNotes.Check( paParent->mbExportNotes );
+ maCbViewPDF.Check( paParent->mbViewPDF);
if ( mbIsPresentation )
{
@@ -668,6 +673,7 @@
paParent->mbReduceImageResolution =
maCbReduceImageResolution.IsChecked();
paParent->mnMaxImageResolution =
maCoReduceImageResolution.GetText().toInt32();
paParent->mbExportNotes = maCbExportNotes.IsChecked();
+ paParent->mbViewPDF = maCbViewPDF.IsChecked();
if ( mbIsPresentation )
paParent->mbExportNotesPages = maCbExportNotesPages.IsChecked();
paParent->mbExportBookmarks = maCbExportBookmarks.IsChecked();
@@ -702,6 +708,7 @@
paParent->mbExportFormFields = maCbExportFormFields.IsChecked();
paParent->mbEmbedStandardFonts =
maCbEmbedStandardFonts.IsChecked();
}
+
paParent->maWatermarkText = maEdWatermark.GetText();
/*
diff --git a/filter/source/pdf/impdialog.hrc
b/filter/source/pdf/impdialog.hrc
index 03b6d55..938b622 100644
--- a/filter/source/pdf/impdialog.hrc
+++ b/filter/source/pdf/impdialog.hrc
@@ -87,6 +87,7 @@
#define CB_WATERMARK 32
#define FT_WATERMARK 33
#define ED_WATERMARK 34
+#define CB_VIEWPDF 35
//controls for open options tab page
diff --git a/filter/source/pdf/impdialog.hxx
b/filter/source/pdf/impdialog.hxx
index 11a3f38..4049d53 100644
--- a/filter/source/pdf/impdialog.hxx
+++ b/filter/source/pdf/impdialog.hxx
@@ -94,6 +94,7 @@
sal_Bool mbUseTaggedPDF;
sal_Int32 mnPDFTypeSelection;
sal_Bool mbExportNotes;
+ sal_Bool mbViewPDF;
sal_Bool mbExportNotesPages;
sal_Bool mbUseTransitionEffects;
sal_Bool mbIsSkipEmptyPages;
@@ -210,6 +211,7 @@
CheckBox maCbExportBookmarks;
CheckBox maCbExportHiddenSlides;
CheckBox maCbExportNotes;
+ CheckBox maCbViewPDF;
CheckBox maCbExportNotesPages;
CheckBox maCbExportEmptyPages;
diff --git a/filter/source/pdf/impdialog.src
b/filter/source/pdf/impdialog.src
index 8d74616..9efab3a 100644
--- a/filter/source/pdf/impdialog.src
+++ b/filter/source/pdf/impdialog.src
@@ -278,6 +278,13 @@
TabStop = TRUE ;
Text[ en-US ] = "~Export comments";
};
+ CheckBox CB_VIEWPDF
+ {
+ Pos = MAP_APPFONT ( 188 , 131 ) ;
+ Size = MAP_APPFONT ( 158 , 10 ) ;
+ TabStop = TRUE ;
+ Text[ en-US ] = "~View PDF after Export";
+ };
CheckBox CB_EXPORTNOTESPAGES
{
HelpID = "filter:CheckBox:RID_PDF_TAB_GENER:CB_EXPORTNOTESPAGES";
diff --git a/filter/source/pdf/pdfexport.cxx
b/filter/source/pdf/pdfexport.cxx
index c6e2648..81beadc 100644
--- a/filter/source/pdf/pdfexport.cxx
+++ b/filter/source/pdf/pdfexport.cxx
@@ -98,6 +98,7 @@
mbUseTaggedPDF ( sal_False ),
mnPDFTypeSelection ( 0 ),
mbExportNotes ( sal_True ),
+ mbViewPDF ( sal_True ),
mbExportNotesPages ( sal_False ),
mbEmbedStandardFonts ( sal_False ),//in preparation for i54636
and i76458.
//already used for i59651
(PDF/A-1)
@@ -457,6 +458,8 @@
rFilterData[ nData ].Value >>= mnPDFTypeSelection;
else if ( rFilterData[ nData ].Name == "ExportNotes" )
rFilterData[ nData ].Value >>= mbExportNotes;
+ else if ( rFilterData[ nData ].Name ==
"ViewPDFAfterExport" )
+ rFilterData[ nData ].Value >>= mbViewPDF;
else if ( rFilterData[ nData ].Name == "ExportNotesPages"
)
rFilterData[ nData ].Value >>= mbExportNotesPages;
else if ( rFilterData[ nData ].Name ==
"EmbedStandardFonts" )
@@ -811,6 +814,7 @@
pPDFExtOutDevData = new vcl::PDFExtOutDevData( *pOut );
pOut->SetExtOutDevData( pPDFExtOutDevData );
pPDFExtOutDevData->SetIsExportNotes( mbExportNotes );
+ pPDFExtOutDevData->SetIsViewPDF( mbViewPDF );
pPDFExtOutDevData->SetIsExportTaggedPDF( mbUseTaggedPDF );
pPDFExtOutDevData->SetIsExportTransitionEffects(
mbUseTransitionEffects );
pPDFExtOutDevData->SetFormsFormat( mnFormsFormat );
diff --git a/filter/source/pdf/pdfexport.hxx
b/filter/source/pdf/pdfexport.hxx
index a69de13..0398e2f 100644
--- a/filter/source/pdf/pdfexport.hxx
+++ b/filter/source/pdf/pdfexport.hxx
@@ -47,6 +47,7 @@
sal_Bool mbUseTaggedPDF;
sal_Int32 mnPDFTypeSelection;
sal_Bool mbExportNotes;
+ sal_Bool mbViewPDF;
sal_Bool mbExportNotesPages;
sal_Bool mbEmbedStandardFonts;
sal_Bool mbUseTransitionEffects;
diff --git a/filter/source/pdf/pdffilter.cxx
b/filter/source/pdf/pdffilter.cxx
index 9aadfed..ae70673 100644
--- a/filter/source/pdf/pdffilter.cxx
+++ b/filter/source/pdf/pdffilter.cxx
@@ -18,13 +18,17 @@
*/
+
#include "pdffilter.hxx"
#include "pdfexport.hxx"
#include <vcl/svapp.hxx>
#include <vcl/window.hxx>
#include <svl/outstrm.hxx>
#include <vcl/FilterConfigItem.hxx>
+#include <com/sun/star/system/SystemShellExecute.hpp>
+#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
+using namespace css::system;
// -------------
// - PDFFilter -
// -------------
@@ -51,6 +55,10 @@
sal_Bool bRet = sal_False;
Reference< task::XStatusIndicator > xStatusIndicator;
Reference< task::XInteractionHandler > xIH;
+ OUString aUrl;
+
+ FilterConfigItem aItem( "Office.Common/Filter/PDF/Export/" );
+ sal_Bool aViewPDF = aItem.ReadBool( "ViewPDFAfterExport", sal_False
);
for ( sal_Int32 i = 0 ; ( i < nLength ) && !xOStm.is(); ++i)
{
@@ -62,6 +70,8 @@
pValue[ i ].Value >>= xStatusIndicator;
else if ( pValue[i].Name == "InteractionHandler" )
pValue[i].Value >>= xIH;
+ else if ( pValue[ i ].Name == "URL" )
+ pValue[ i ].Value >>= aUrl;
}
/* we don't get FilterData if we are exporting directly
@@ -133,6 +143,10 @@
}
}
+ if(aViewPDF==sal_True) {
+ Reference<XSystemShellExecute>
xSystemShellExecute(SystemShellExecute::create(
::comphelper::getProcessComponentContext() ) ); //Open the newly exported
pdf
+ xSystemShellExecute->execute(aUrl, "",
SystemShellExecuteFlags::URIS_ONLY ); }
+
return bRet;
}
diff --git a/officecfg/registry/data/org/openoffice/Office/WebWizard.xcu
b/officecfg/registry/data/org/openoffice/Office/WebWizard.xcu
index c46ae46..bcdf2b2 100644
--- a/officecfg/registry/data/org/openoffice/Office/WebWizard.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/WebWizard.xcu
@@ -207,6 +207,11 @@
<value>false</value>
</prop>
</node>
+ <node oor:name="IsViewPDF" oor:op="replace">
+ <prop oor:name="Value">
+ <value>false</value>
+ </prop>
+ </node>
<node oor:name="Format" oor:op="replace">
<prop oor:name="Value">
<value>%1</value>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 4455509..0106dbb 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -5278,6 +5278,13 @@
</info>
<value>false</value>
</prop>
+ <prop
+ oor:name="ViewPDFAfterExport" oor:type="xs:boolean"
oor:nillable="false">
+ <info>
+ <desc>Specifies if PDF automatically opens after
export.</desc>
+ </info>
+ <value>false</value>
+ </prop>
<prop
oor:name="ExportBookmarks" oor:type="xs:boolean"
oor:nillable="false">
diff --git a/vcl/inc/vcl/pdfextoutdevdata.hxx
b/vcl/inc/vcl/pdfextoutdevdata.hxx
index 59a1189..b5fec70 100644
--- a/vcl/inc/vcl/pdfextoutdevdata.hxx
+++ b/vcl/inc/vcl/pdfextoutdevdata.hxx
@@ -77,6 +77,7 @@
sal_Bool mbTaggedPDF;
sal_Bool mbExportNotes;
+ sal_Bool mbViewPDF;
sal_Bool mbExportNotesPages;
sal_Bool mbTransitionEffects;
sal_Bool mbUseLosslessCompression;
@@ -108,7 +109,9 @@
sal_Bool GetIsExportNotes() const;
+ sal_Bool GetIsViewPDF() const;
void SetIsExportNotes( const sal_Bool bExportNotes );
+ void SetIsViewPDF( const sal_Bool bViewPDF );
sal_Bool GetIsExportNotesPages() const;
void SetIsExportNotesPages( const sal_Bool bExportNotesPages );
diff --git a/vcl/source/gdi/pdfextoutdevdata.cxx
b/vcl/source/gdi/pdfextoutdevdata.cxx
index 9895867..e619f8e 100644
--- a/vcl/source/gdi/pdfextoutdevdata.cxx
+++ b/vcl/source/gdi/pdfextoutdevdata.cxx
@@ -496,6 +496,7 @@
mrOutDev ( rOutDev ),
mbTaggedPDF ( sal_False ),
mbExportNotes ( sal_True ),
+ mbViewPDF ( sal_True ),
mbExportNotesPages ( sal_False ),
mbTransitionEffects ( sal_True ),
mbUseLosslessCompression( sal_True ),
@@ -552,10 +553,18 @@
{
return mbExportNotes;
}
+sal_Bool PDFExtOutDevData::GetIsViewPDF() const
+{
+ return mbViewPDF;
+}
void PDFExtOutDevData::SetIsExportNotes( const sal_Bool bExportNotes )
{
mbExportNotes = bExportNotes;
}
+void PDFExtOutDevData::SetIsViewPDF( const sal_Bool bViewPDF )
+{
+ mbViewPDF = bViewPDF;
+}
sal_Bool PDFExtOutDevData::GetIsExportNotesPages() const
{
return mbExportNotesPages;
--
To view, visit https://gerrit.libreoffice.org/3763
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I6717c08348d2df72b6ad79c163216e5bf01b196c
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: master
Gerrit-Owner: Anurag Kanungo <anuragkanungo@gmail.com>
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice