Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


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/core refs/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>


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.