summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sw/inc/doc.hxx7
-rw-r--r--sw/inc/printdata.hxx78
-rw-r--r--sw/inc/unotxdoc.hxx4
-rw-r--r--sw/source/core/doc/doc.cxx77
-rw-r--r--sw/source/core/view/viewpg.cxx16
-rw-r--r--sw/source/core/view/vprint.cxx95
-rw-r--r--sw/source/ui/config/optpage.cxx22
-rw-r--r--sw/source/ui/config/prtopt.cxx12
-rw-r--r--sw/source/ui/dbui/dbmgr.cxx62
-rw-r--r--sw/source/ui/inc/cfgitems.hxx8
-rw-r--r--sw/source/ui/uiview/view.cxx2
-rw-r--r--sw/source/ui/uiview/viewprt.cxx7
-rw-r--r--sw/source/ui/uno/unotxdoc.cxx47
13 files changed, 253 insertions, 184 deletions
diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx
index 3f5ef569376b..52898ad0d1ad 100644
--- a/sw/inc/doc.hxx
+++ b/sw/inc/doc.hxx
@@ -218,6 +218,7 @@ class SwChartDataProvider;
class SwChartLockController_Helper;
class IGrammarContact;
class SwPrintData;
+class SwRenderData;
class SwPageFrm;
class SwViewOption;
@@ -1339,11 +1340,11 @@ public:
// get the set of printable pages for the XRenderable API by
// evaluating the respective settings (see implementation)
- void CalculatePagesForPrinting( /* out */ SwPrintUIOptions &rOptions, bool bIsPDFExport,
+ void CalculatePagesForPrinting( SwRenderData &rData, const SwPrintUIOptions &rOptions, bool bIsPDFExport,
sal_Int32 nDocPageCount );
- void UpdatePagesForPrintingWithPostItData( /* out */ SwPrintUIOptions &rOptions, bool bIsPDFExport,
+ void UpdatePagesForPrintingWithPostItData( SwRenderData &rData, const SwPrintUIOptions &rOptions, bool bIsPDFExport,
sal_Int32 nDocPageCount );
- void CalculatePagePairsForProspectPrinting( /* out */ SwPrintUIOptions &rOptions,
+ void CalculatePagePairsForProspectPrinting( SwRenderData &rData, const SwPrintUIOptions &rOptions,
sal_Int32 nDocPageCount );
sal_uInt16 GetPageCount() const;
diff --git a/sw/inc/printdata.hxx b/sw/inc/printdata.hxx
index e00ef66c977d..085121060c8e 100644
--- a/sw/inc/printdata.hxx
+++ b/sw/inc/printdata.hxx
@@ -50,10 +50,11 @@ class OutputDevice;
////////////////////////////////////////////////////////////
-class SwPrintUIOptions : public vcl::PrinterOptionsHelper
+// A class that stores temporary data that is needed for rendering the document.
+// Usually this data is created when 'getRendererCount' is called and
+// and it is used in the 'render' function of that same interface
+class SwRenderData
{
- OutputDevice* m_pLast;
-
// pages valid for printing (according to the current settings)
// and their respective start frames (see getRendererCount in unotxdoc.cxx)
// This set of pages does NOT depend on the 'PageRange' that is used as a printing option!
@@ -79,19 +80,10 @@ public:
SwDoc * m_pPostItDoc;
ViewShell * m_pPostItShell;
-
public:
- SwPrintUIOptions( BOOL bWeb = FALSE );
- ~SwPrintUIOptions();
-
- bool processPropertiesAndCheckFormat( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& i_rNewProp );
+ SwRenderData();
+ ~SwRenderData();
- bool IsPrintLeftPages() const;
- bool IsPrintRightPages() const;
- bool IsPrintEmptyPages( bool bIsPDFExport ) const;
- bool IsPrintTables() const;
- bool IsPrintGraphics() const;
- bool IsPrintDrawings() const;
bool HasPostItData() const { return m_pPostItShell != 0 && m_pPostItDoc != 0 && m_pPostItShell != 0; }
void CreatePostItData( SwDoc *pDoc, const SwViewOption *pViewOpt, OutputDevice *pOutDev );
@@ -133,9 +125,32 @@ public:
////////////////////////////////////////////////////////////
+class SwPrintUIOptions : public vcl::PrinterOptionsHelper
+{
+ OutputDevice* m_pLast;
+
+public:
+ SwPrintUIOptions( BOOL bWeb = FALSE );
+ ~SwPrintUIOptions();
+
+ bool processPropertiesAndCheckFormat( const com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >& i_rNewProp );
+
+ bool IsPrintLeftPages() const;
+ bool IsPrintRightPages() const;
+ bool IsPrintEmptyPages( bool bIsPDFExport ) const;
+ bool IsPrintTables() const;
+ bool IsPrintGraphics() const;
+ bool IsPrintDrawings() const;
+};
+
+
+////////////////////////////////////////////////////////////
+
+
class SwPrintData
{
- const SwPrintUIOptions * m_pPrintUIOptions;
+ const SwPrintUIOptions * m_pPrintUIOptions; // not owner
+ const SwRenderData * m_pRenderData; // not owner
public:
@@ -143,8 +158,8 @@ public:
bPrintBlackFont,
//#i81434# - printing of hidden text
bPrintHiddenText, bPrintTextPlaceholder,
- bPrintLeftPage, bPrintRightPage, bPrintReverse, bPrintProspect,
- bPrintProspect_RTL,
+ bPrintLeftPages, bPrintRightPages, bPrintReverse, bPrintProspect,
+ bPrintProspectRTL,
bPrintSingleJobs, bPaperFromSetup,
// --> FME 2005-12-13 #b6354161# Print empty pages
bPrintEmptyPages,
@@ -159,13 +174,14 @@ public:
SwPrintData()
{
m_pPrintUIOptions = NULL;
+ m_pRenderData = NULL;
bPrintGraphic =
bPrintTable =
bPrintDraw =
bPrintControl =
- bPrintLeftPage =
- bPrintRightPage =
+ bPrintLeftPages =
+ bPrintRightPages =
bPrintPageBackground =
bPrintEmptyPages =
bUpdateFieldsInPrinting = sal_True;
@@ -173,7 +189,7 @@ public:
bPaperFromSetup =
bPrintReverse =
bPrintProspect =
- bPrintProspect_RTL =
+ bPrintProspectRTL =
bPrintSingleJobs =
bModified =
bPrintBlackFont =
@@ -194,11 +210,11 @@ public:
bPrintControl == rData.bPrintControl &&
bPrintPageBackground== rData.bPrintPageBackground&&
bPrintBlackFont == rData.bPrintBlackFont &&
- bPrintLeftPage == rData.bPrintLeftPage &&
- bPrintRightPage == rData.bPrintRightPage &&
+ bPrintLeftPages == rData.bPrintLeftPages &&
+ bPrintRightPages == rData.bPrintRightPages &&
bPrintReverse == rData.bPrintReverse &&
bPrintProspect == rData.bPrintProspect &&
- bPrintProspect_RTL == rData.bPrintProspect_RTL &&
+ bPrintProspectRTL == rData.bPrintProspectRTL &&
bPrintSingleJobs == rData.bPrintSingleJobs &&
bPaperFromSetup == rData.bPaperFromSetup &&
bPrintEmptyPages == rData.bPrintEmptyPages &&
@@ -209,22 +225,24 @@ public:
bPrintTextPlaceholder == rData.bPrintTextPlaceholder;
}
- // Note: int the conntext where this class ist used the pointer should always be valid
+ // Note: in the context where this class ist used the pointers should always be valid
// during the lifetime of this object
const SwPrintUIOptions & GetPrintUIOptions() const { return *m_pPrintUIOptions; }
- void SetPrintUIOptions( const SwPrintUIOptions *pOpt ) { m_pPrintUIOptions = pOpt; }
+ void SetPrintUIOptions( const SwPrintUIOptions *pOpt ) { m_pPrintUIOptions = pOpt; }
+ const SwRenderData & GetRenderData() const { return *m_pRenderData; }
+ void SetRenderData( const SwRenderData *pData ) { m_pRenderData = pData; }
sal_Bool IsPrintGraphic() const { return bPrintGraphic; }
sal_Bool IsPrintTable() const { return bPrintTable; }
sal_Bool IsPrintDraw() const { return bPrintDraw; }
sal_Bool IsPrintControl() const { return bPrintControl; }
- sal_Bool IsPrintLeftPage() const { return bPrintLeftPage; }
- sal_Bool IsPrintRightPage() const { return bPrintRightPage; }
+ sal_Bool IsPrintLeftPage() const { return bPrintLeftPages; }
+ sal_Bool IsPrintRightPage() const { return bPrintRightPages; }
sal_Bool IsPrintReverse() const { return bPrintReverse; }
sal_Bool IsPaperFromSetup() const { return bPaperFromSetup; }
sal_Bool IsPrintEmptyPages() const{ return bPrintEmptyPages; }
sal_Bool IsPrintProspect() const { return bPrintProspect; }
- sal_Bool IsPrintProspect_RTL() const { return bPrintProspect_RTL; }
+ sal_Bool IsPrintProspectRTL() const { return bPrintProspectRTL; }
sal_Bool IsPrintPageBackground() const { return bPrintPageBackground; }
sal_Bool IsPrintBlackFont() const { return bPrintBlackFont;}
sal_Bool IsPrintSingleJobs() const { return bPrintSingleJobs;}
@@ -237,8 +255,8 @@ public:
void SetPrintTable ( sal_Bool b ) { doSetModified(); bPrintTable = b;}
void SetPrintDraw ( sal_Bool b ) { doSetModified(); bPrintDraw = b;}
void SetPrintControl ( sal_Bool b ) { doSetModified(); bPrintControl = b; }
- void SetPrintLeftPage ( sal_Bool b ) { doSetModified(); bPrintLeftPage = b;}
- void SetPrintRightPage( sal_Bool b ) { doSetModified(); bPrintRightPage = b;}
+ void SetPrintLeftPage ( sal_Bool b ) { doSetModified(); bPrintLeftPages = b;}
+ void SetPrintRightPage( sal_Bool b ) { doSetModified(); bPrintRightPages = b;}
void SetPrintReverse ( sal_Bool b ) { doSetModified(); bPrintReverse = b;}
void SetPaperFromSetup( sal_Bool b ) { doSetModified(); bPaperFromSetup = b;}
void SetPrintEmptyPages(sal_Bool b ) { doSetModified(); bPrintEmptyPages = b;}
diff --git a/sw/inc/unotxdoc.hxx b/sw/inc/unotxdoc.hxx
index 19b32df6c255..f2ec7fc21d01 100644
--- a/sw/inc/unotxdoc.hxx
+++ b/sw/inc/unotxdoc.hxx
@@ -127,6 +127,7 @@ class SwXDocumentPropertyHelper;
class SfxViewFrame;
class SwPrintUIOptions;
class SwPrintData;
+class SwRenderData;
typedef UnoActionContext* UnoActionContextPtr;
SV_DECL_PTRARR(ActionContextArr, UnoActionContextPtr, 4, 4)
@@ -221,7 +222,8 @@ class SwXTextDocument : public SwXTextDocumentBaseClass,
css::uno::Reference< css::uno::XInterface> xPropertyHelper;
SwXDocumentPropertyHelper* pPropertyHelper;
- SwPrintUIOptions* m_pPrintUIOptions;
+ SwPrintUIOptions * m_pPrintUIOptions;
+ SwRenderData * m_pRenderData;
void GetBodyText();
void GetNumberFormatter();
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index 9a730106ea80..daefe8fef56f 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -1136,7 +1136,8 @@ static void lcl_FormatPostIt(
void SwDoc::CalculatePagesForPrinting(
- /* out */ SwPrintUIOptions &rOptions,
+ /* out */ SwRenderData &rData,
+ const SwPrintUIOptions &rOptions,
bool bIsPDFExport,
sal_Int32 nDocPageCount )
{
@@ -1222,8 +1223,8 @@ void SwDoc::CalculatePagesForPrinting(
#endif // TL_NOT_NOW /*TLPDF*/
nPageNo = nFirstPageNo;
- std::set< sal_Int32 > &rValidPages = rOptions.GetValidPagesSet();
- std::map< sal_Int32, const SwPageFrm * > &rValidStartFrms = rOptions.GetValidStartFrames();
+ std::set< sal_Int32 > &rValidPages = rData.GetValidPagesSet();
+ std::map< sal_Int32, const SwPageFrm * > &rValidStartFrms = rData.GetValidStartFrames();
rValidPages.clear();
rValidStartFrms.clear();
while ( pStPage )
@@ -1292,38 +1293,39 @@ void SwDoc::CalculatePagesForPrinting(
aPageRange += OUString::valueOf( (sal_Unicode)'-');
aPageRange += OUString::valueOf( nDocPageCount );
}
- rOptions.SetPageRange( aPageRange );
+ rData.SetPageRange( aPageRange );
// get vector of pages to print according to PageRange and valid pages set from above
// (result may be an empty vector, for example if the range string is not correct)
StringRangeEnumerator::getRangesFromString(
- aPageRange, rOptions.GetPagesToPrint(),
- 1, nDocPageCount, 0, &rOptions.GetValidPagesSet() );
+ aPageRange, rData.GetPagesToPrint(),
+ 1, nDocPageCount, 0, &rData.GetValidPagesSet() );
}
void SwDoc::UpdatePagesForPrintingWithPostItData(
- /* out */ SwPrintUIOptions &rOptions,
+ /* out */ SwRenderData &rData,
+ const SwPrintUIOptions &rOptions,
bool /*bIsPDFExport*/,
sal_Int32 nDocPageCount )
{
sal_Int16 nPostItMode = (sal_Int16) rOptions.getIntValue( "PrintAnnotationMode", 0 );
- DBG_ASSERT(nPostItMode == POSTITS_NONE || rOptions.HasPostItData(),
+ DBG_ASSERT(nPostItMode == POSTITS_NONE || rData.HasPostItData(),
"print post-its without post-it data?" );
- const USHORT nPostItCount = rOptions.HasPostItData() ? rOptions.m_pPostItFields->Count() : 0;
+ const USHORT nPostItCount = rData.HasPostItData() ? rData.m_pPostItFields->Count() : 0;
if (nPostItMode != POSTITS_NONE && nPostItCount > 0)
{
- SET_CURR_SHELL( rOptions.m_pPostItShell );
+ SET_CURR_SHELL( rData.m_pPostItShell );
// clear document and move to end of it
- SwPaM aPam( rOptions.m_pPostItDoc->GetNodes().GetEndOfContent() );
+ SwPaM aPam( rData.m_pPostItDoc->GetNodes().GetEndOfContent() );
aPam.Move( fnMoveBackward, fnGoDoc );
aPam.SetMark();
aPam.Move( fnMoveForward, fnGoDoc );
- rOptions.m_pPostItDoc->Delete( aPam );
+ rData.m_pPostItDoc->Delete( aPam );
- const StringRangeEnumerator aRangeEnum( rOptions.GetPageRange(), 1, nDocPageCount, 0 );
+ const StringRangeEnumerator aRangeEnum( rData.GetPageRange(), 1, nDocPageCount, 0 );
// For mode POSTITS_ENDPAGE:
// maps a physical page number to the page number in post-it document that holds
@@ -1339,10 +1341,10 @@ void SwDoc::UpdatePagesForPrintingWithPostItData(
bool bIsFirstPostIt = true;
for (USHORT i = 0; i < nPostItCount; ++i)
{
- _PostItFld& rPostIt = (_PostItFld&)*(*rOptions.m_pPostItFields)[ i ];
+ _PostItFld& rPostIt = (_PostItFld&)*(*rData.m_pPostItFields)[ i ];
nLastPageNum = nPhyPageNum;
nPhyPageNum = rPostIt.GetPageNo(
- aRangeEnum, rOptions.GetValidPagesSet(),
+ aRangeEnum, rData.GetValidPagesSet(),
true /*TLPDF bRgt*/, true /*TLPDF bLft*/, nVirtPg, nLineNo );
if (nPhyPageNum)
{
@@ -1352,55 +1354,55 @@ void SwDoc::UpdatePagesForPrintingWithPostItData(
const bool bNewPage = nPostItMode == POSTITS_ENDPAGE &&
!bIsFirstPostIt && nPhyPageNum != nLastPageNum;
- lcl_FormatPostIt( rOptions.m_pPostItShell->GetDoc(), aPam,
+ lcl_FormatPostIt( rData.m_pPostItShell->GetDoc(), aPam,
rPostIt.GetPostIt(), bNewPage, bIsFirstPostIt, nVirtPg, nLineNo );
bIsFirstPostIt = false;
if (nPostItMode == POSTITS_ENDPAGE)
{
// get the correct number of current pages for the post-it document
- rOptions.m_pPostItShell->CalcLayout();
- const sal_Int32 nPages = rOptions.m_pPostItDoc->GetPageCount();
+ rData.m_pPostItShell->CalcLayout();
+ const sal_Int32 nPages = rData.m_pPostItDoc->GetPageCount();
aPostItLastStartPageNum[ nPhyPageNum ] = nPages;
}
}
}
// format post-it doc to get correct number of pages
- rOptions.m_pPostItShell->CalcLayout();
- const sal_Int32 nPostItDocPageCount = rOptions.m_pPostItDoc->GetPageCount();
+ rData.m_pPostItShell->CalcLayout();
+ const sal_Int32 nPostItDocPageCount = rData.m_pPostItDoc->GetPageCount();
if (nPostItMode == POSTITS_ONLY || nPostItMode == POSTITS_ENDDOC)
{
// now add those post-it pages to the vector of pages to print
// or replace them if only post-its should be printed
- rOptions.GetPostItStartFrames().clear();
+ rData.GetPostItStartFrames().clear();
if (nPostItMode == POSTITS_ENDDOC)
{
// set all values up to number of pages to print currently known to NULL,
// meaning none of the pages currently in the vector is from the
// post-it document, they are the documents pages.
- rOptions.GetPostItStartFrames().resize( rOptions.GetPagesToPrint().size() );
+ rData.GetPostItStartFrames().resize( rData.GetPagesToPrint().size() );
}
else if (nPostItMode == POSTITS_ONLY)
{
// no document page to be printed
- rOptions.GetPagesToPrint().clear();
+ rData.GetPagesToPrint().clear();
}
// now we just need to add the post-it pages to be printed to the end
// of the vector of pages to print and keep the GetValidStartFrames
// data conform with it
sal_Int32 nPageNum = 0;
- const SwPageFrm * pPageFrm = (SwPageFrm*)rOptions.m_pPostItShell->GetLayout()->Lower();
+ const SwPageFrm * pPageFrm = (SwPageFrm*)rData.m_pPostItShell->GetLayout()->Lower();
while( pPageFrm && nPageNum < nPostItDocPageCount )
{
DBG_ASSERT( pPageFrm, "Empty page frame. How are we going to print this?" );
++nPageNum;
- rOptions.GetPagesToPrint().push_back( 0 ); // a page number of 0 indicates this page is from the post-it doc
+ rData.GetPagesToPrint().push_back( 0 ); // a page number of 0 indicates this page is from the post-it doc
DBG_ASSERT( pPageFrm, "pPageFrm is NULL!" );
- rOptions.GetPostItStartFrames().push_back( pPageFrm );
+ rData.GetPostItStartFrames().push_back( pPageFrm );
pPageFrm = (SwPageFrm*)pPageFrm->GetNext();
}
DBG_ASSERT( nPageNum == nPostItDocPageCount, "unexpected number of pages" );
@@ -1414,7 +1416,7 @@ void SwDoc::UpdatePagesForPrintingWithPostItData(
// ... thus, first collect all post-it doc start frames in a vector
sal_Int32 nPostItPageNum = 0;
std::vector< const SwPageFrm * > aAllPostItStartFrames;
- const SwPageFrm * pPageFrm = (SwPageFrm*)rOptions.m_pPostItShell->GetLayout()->Lower();
+ const SwPageFrm * pPageFrm = (SwPageFrm*)rData.m_pPostItShell->GetLayout()->Lower();
while( pPageFrm && sal_Int32(aAllPostItStartFrames.size()) < nPostItDocPageCount )
{
DBG_ASSERT( pPageFrm, "Empty page frame. How are we going to print this?" );
@@ -1457,11 +1459,11 @@ void SwDoc::UpdatePagesForPrintingWithPostItData(
// isn't that efficient we will create new vectors by copying the required data
std::vector< sal_Int32 > aTmpPagesToPrint;
std::vector< const SwPageFrm * > aTmpPostItStartFrames;
- const size_t nNum = rOptions.GetPagesToPrint().size();
+ const size_t nNum = rData.GetPagesToPrint().size();
for (size_t i = 0 ; i < nNum; ++i)
{
// add the physical page to print from the document
- const sal_Int32 nPhysPage = rOptions.GetPagesToPrint()[i];
+ const sal_Int32 nPhysPage = rData.GetPagesToPrint()[i];
aTmpPagesToPrint.push_back( nPhysPage );
aTmpPostItStartFrames.push_back( NULL );
@@ -1479,20 +1481,21 @@ void SwDoc::UpdatePagesForPrintingWithPostItData(
// finally we need to assign those vectors to the resulting ones.
// swapping the data should be more efficient than assigning since
// we won't need the temporary vectors anymore
- rOptions.GetPagesToPrint().swap( aTmpPagesToPrint );
- rOptions.GetPostItStartFrames().swap( aTmpPostItStartFrames );
+ rData.GetPagesToPrint().swap( aTmpPagesToPrint );
+ rData.GetPostItStartFrames().swap( aTmpPostItStartFrames );
}
}
}
void SwDoc::CalculatePagePairsForProspectPrinting(
- SwPrintUIOptions &rOptions,
+ /* out */ SwRenderData &rData,
+ const SwPrintUIOptions &rOptions,
sal_Int32 nDocPageCount )
{
- std::set< sal_Int32 > &rValidPagesSet = rOptions.GetValidPagesSet();
- std::map< sal_Int32, const SwPageFrm * > &rValidStartFrms = rOptions.GetValidStartFrames();
- std::vector< std::pair< sal_Int32, sal_Int32 > > &rPagePairs = rOptions.GetPagePairsForProspectPrinting();
+ std::set< sal_Int32 > &rValidPagesSet = rData.GetValidPagesSet();
+ std::map< sal_Int32, const SwPageFrm * > &rValidStartFrms = rData.GetValidStartFrames();
+ std::vector< std::pair< sal_Int32, sal_Int32 > > &rPagePairs = rData.GetPagePairsForProspectPrinting();
rPagePairs.clear();
rValidPagesSet.clear();
@@ -1534,7 +1537,7 @@ void SwDoc::CalculatePagePairsForProspectPrinting(
// TLPDF, TODO: remove bPrintReverse, should be handled by PLs framework now
//TLPDF bool bPrintReverse = rOptions.getBoolValue( C2U( "PrintReverseOrder" ), false );
// TLPDF: this one seems not to be used in prospect printing: bool bPrintEmptyPages = rOptions.getBoolValue( C2U( "PrintEmptyPages" ), false );
- bool bPrintProspect_RTL = rOptions.getIntValue( "PrintProspectRTL", 0 ) ? true : false;
+ bool bPrintProspectRTL = rOptions.getIntValue( "PrintProspectRTL", 0 ) ? true : false;
// get pages for prospect printing according to the 'PageRange'
// (duplicates and any order allowed!)
@@ -1621,7 +1624,7 @@ void SwDoc::CalculatePagePairsForProspectPrinting(
pStPage = aVec[ nSPg ];
const SwPageFrm* pNxtPage = nEPg < aVec.size() ? aVec[ nEPg ] : 0;
- short nRtlOfs = bPrintProspect_RTL ? 1 : 0;
+ short nRtlOfs = bPrintProspectRTL ? 1 : 0;
if ( 0 == (( nSPg + nRtlOfs) & 1 ) ) // switch for odd number in LTR, even number in RTL
{
const SwPageFrm* pTmp = pStPage;
diff --git a/sw/source/core/view/viewpg.cxx b/sw/source/core/view/viewpg.cxx
index 79dbdfc1f962..c0b5987e0046 100644
--- a/sw/source/core/view/viewpg.cxx
+++ b/sw/source/core/view/viewpg.cxx
@@ -481,7 +481,7 @@ void ViewShell::PrintProspect(
{
// TLPDF if( !rOptions.aMulti.GetSelectCount() )
Printer *pPrinter = dynamic_cast< Printer * >(pOutDev);
- if (!pPrinter || rPrintData.GetPrintUIOptions().GetPagePairsForProspectPrinting().size() <= 0)
+ if (!pPrinter || rPrintData.GetRenderData().GetPagePairsForProspectPrinting().size() <= 0)
return;
#ifdef TL_NOT_NOW /*TLPDF*/
@@ -498,15 +498,15 @@ void ViewShell::PrintProspect(
/* TLPDF neu: start */
#if OSL_DEBUG_LEVEL > 1
- DBG_ASSERT( 0 <= nRenderer && nRenderer < (sal_Int32)rPrintData.GetPrintUIOptions().GetPagePairsForProspectPrinting().size(), "nRenderer out of bounds");
+ DBG_ASSERT( 0 <= nRenderer && nRenderer < (sal_Int32)rPrintData.GetRenderData().GetPagePairsForProspectPrinting().size(), "nRenderer out of bounds");
#endif
std::pair< sal_Int32, sal_Int32 > rPagesToPrint =
- rPrintData.GetPrintUIOptions().GetPagePairsForProspectPrinting()[ nRenderer ];
+ rPrintData.GetRenderData().GetPagePairsForProspectPrinting()[ nRenderer ];
const USHORT nPageMax = static_cast< USHORT >(rPagesToPrint.first > rPagesToPrint.second ?
rPagesToPrint.first : rPagesToPrint.second);
#if OSL_DEBUG_LEVEL > 1
- DBG_ASSERT( rPagesToPrint.first == -1 || rPrintData.GetPrintUIOptions().GetValidPagesSet().count( rPagesToPrint.first ) == 1, "first Page not valid" );
- DBG_ASSERT( rPagesToPrint.second == -1 || rPrintData.GetPrintUIOptions().GetValidPagesSet().count( rPagesToPrint.second ) == 1, "second Page not valid" );
+ DBG_ASSERT( rPagesToPrint.first == -1 || rPrintData.GetRenderData().GetValidPagesSet().count( rPagesToPrint.first ) == 1, "first Page not valid" );
+ DBG_ASSERT( rPagesToPrint.second == -1 || rPrintData.GetRenderData().GetValidPagesSet().count( rPagesToPrint.second ) == 1, "second Page not valid" );
#endif
/* TLPDF neu: end */
@@ -703,16 +703,16 @@ void ViewShell::PrintProspect(
/* TLPDF neu: start */
const SwPageFrm *pStPage = 0;
const SwPageFrm *pNxtPage = 0;
- const SwPrintUIOptions::ValidStartFramesMap_t &rFrms = rPrintData.GetPrintUIOptions().GetValidStartFrames();
+ const SwRenderData::ValidStartFramesMap_t &rFrms = rPrintData.GetRenderData().GetValidStartFrames();
if (rPagesToPrint.first > 0)
{
- SwPrintUIOptions::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( rPagesToPrint.first ) );
+ SwRenderData::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( rPagesToPrint.first ) );
DBG_ASSERT( aIt != rFrms.end(), "failed to find start frame" );
pStPage = aIt->second;
}
if (rPagesToPrint.second > 0)
{
- SwPrintUIOptions::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( rPagesToPrint.second ) );
+ SwRenderData::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( rPagesToPrint.second ) );
DBG_ASSERT( aIt != rFrms.end(), "failed to find start frame" );
pNxtPage = aIt->second;
}
diff --git a/sw/source/core/view/vprint.cxx b/sw/source/core/view/vprint.cxx
index 7f5201c5e46d..08a19e307ae5 100644
--- a/sw/source/core/view/vprint.cxx
+++ b/sw/source/core/view/vprint.cxx
@@ -239,6 +239,52 @@ const XubString& SwPrtOptions::MakeNextJobName()
/*****************************************************************************/
+
+SwRenderData::SwRenderData()
+{
+ m_pPostItFields = 0;
+ m_pPostItDoc = 0;
+ m_pPostItShell = 0;
+}
+
+
+SwRenderData::~SwRenderData()
+{
+}
+
+
+void SwRenderData::CreatePostItData( SwDoc *pDoc, const SwViewOption *pViewOpt, OutputDevice *pOutDev )
+{
+ m_pPostItFields = new _SetGetExpFlds;
+ lcl_GetPostIts( pDoc, *m_pPostItFields );
+ m_pPostItDoc = new SwDoc;
+
+ //!! Disable spell and grammar checking in the temporary document.
+ //!! Otherwise the grammar checker might process it and crash if we later on
+ //!! simply delete this document while he is still at it.
+ SwViewOption aViewOpt( *pViewOpt );
+ aViewOpt.SetOnlineSpell( FALSE );
+
+ m_pPostItShell = new ViewShell( *m_pPostItDoc, 0, &aViewOpt, pOutDev );
+}
+
+
+void SwRenderData::DeletePostItData()
+{
+ if (HasPostItData())
+ {
+ m_pPostItDoc->setPrinter( 0, false, false ); //damit am echten DOC der Drucker bleibt
+ delete m_pPostItShell; //Nimmt das PostItDoc mit ins Grab.
+ delete m_pPostItFields;
+ m_pPostItDoc = 0;
+ m_pPostItShell = 0;
+ m_pPostItFields = 0;
+ }
+}
+
+
+/*****************************************************************************/
+
SwPrintUIOptions::SwPrintUIOptions( BOOL bWeb ) :
m_pLast( NULL )
{
@@ -428,10 +474,6 @@ SwPrintUIOptions::SwPrintUIOptions( BOOL bWeb ) :
DBG_ASSERT( nIdx == nNumProps, "number of added properties is not as expected" );
-
- m_pPostItFields = 0;
- m_pPostItDoc = 0;
- m_pPostItShell = 0;
}
@@ -526,35 +568,6 @@ bool SwPrintUIOptions::processPropertiesAndCheckFormat( const com::sun::star::un
}
-void SwPrintUIOptions::CreatePostItData( SwDoc *pDoc, const SwViewOption *pViewOpt, OutputDevice *pOutDev )
-{
- m_pPostItFields = new _SetGetExpFlds;
- lcl_GetPostIts( pDoc, *m_pPostItFields );
- m_pPostItDoc = new SwDoc;
-
- //!! Disable spell and grammar checking in the temporary document.
- //!! Otherwise the grammar checker might process it and crash if we later on
- //!! simply delete this document while he is still at it.
- SwViewOption aViewOpt( *pViewOpt );
- aViewOpt.SetOnlineSpell( FALSE );
-
- m_pPostItShell = new ViewShell( *m_pPostItDoc, 0, &aViewOpt, pOutDev );
-}
-
-
-void SwPrintUIOptions::DeletePostItData()
-{
- if (HasPostItData())
- {
- m_pPostItDoc->setPrinter( 0, false, false ); //damit am echten DOC der Drucker bleibt
- delete m_pPostItShell; //Nimmt das PostItDoc mit ins Grab.
- delete m_pPostItFields;
- m_pPostItDoc = 0;
- m_pPostItShell = 0;
- m_pPostItFields = 0;
- }
-}
-
/******************************************************************************
* Methode : void SetSwVisArea( ViewShell *pSh, Point aPrtOffset, ...
* Beschreibung:
@@ -1158,17 +1171,17 @@ sal_Bool ViewShell::PrintOrPDFExport(
/* TLPDF neu: start */
#if OSL_DEBUG_LEVEL > 1
- DBG_ASSERT( 0 <= nRenderer && nRenderer < (sal_Int32)rPrintData.GetPrintUIOptions().GetPagesToPrint().size(), "nRenderer out of bounds");
+ DBG_ASSERT( 0 <= nRenderer && nRenderer < (sal_Int32)rPrintData.GetRenderData().GetPagesToPrint().size(), "nRenderer out of bounds");
#endif
- const sal_Int32 nPage = rPrintData.GetPrintUIOptions().GetPagesToPrint()[ nRenderer ]; /* TLPDF */
+ const sal_Int32 nPage = rPrintData.GetRenderData().GetPagesToPrint()[ nRenderer ]; /* TLPDF */
#if OSL_DEBUG_LEVEL > 1
- DBG_ASSERT( nPage == 0 || rPrintData.GetPrintUIOptions().GetValidPagesSet().count( nPage ) == 1, "nPage not valid" );
+ DBG_ASSERT( nPage == 0 || rPrintData.GetRenderData().GetValidPagesSet().count( nPage ) == 1, "nPage not valid" );
#endif
const SwPageFrm *pStPage = 0;
if (nPage > 0) // a 'regular' page, not one from the post-it document
{
- const SwPrintUIOptions::ValidStartFramesMap_t &rFrms = rPrintData.GetPrintUIOptions().GetValidStartFrames();
- SwPrintUIOptions::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( nPage ) );
+ const SwRenderData::ValidStartFramesMap_t &rFrms = rPrintData.GetRenderData().GetValidStartFrames();
+ SwRenderData::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( nPage ) );
DBG_ASSERT( aIt != rFrms.end(), "failed to find start frame" );
if (aIt == rFrms.end())
return sal_False;
@@ -1177,7 +1190,7 @@ sal_Bool ViewShell::PrintOrPDFExport(
else // a page from the post-its document ...
{
DBG_ASSERT( nPage == 0, "unexpected page number. 0 for post-it pages expected" );
- pStPage = rPrintData.GetPrintUIOptions().GetPostItStartFrames()[ nRenderer ];
+ pStPage = rPrintData.GetRenderData().GetPostItStartFrames()[ nRenderer ];
}
DBG_ASSERT( pStPage, "failed to get start page" );
/* TLPDF neu: end */
@@ -1269,7 +1282,7 @@ sal_Bool ViewShell::PrintOrPDFExport(
//TLPDF while( pStPage && !bStop )
{
ViewShell *pViewSh2 = nPage == 0 ? /* post-it page? */
- rPrintData.GetPrintUIOptions().m_pPostItShell : pShell;
+ rPrintData.GetRenderData().m_pPostItShell : pShell;
::SetSwVisArea( pViewSh2, pStPage->Frm() ); // TLPDF
// wenn wir einen Umschlag drucken wird ein Offset beachtet
@@ -1351,7 +1364,7 @@ sal_Bool ViewShell::PrintOrPDFExport(
pShell->InitPrt( pOutDev );
ViewShell *pViewSh2 = nPage == 0 ? /* post-it page? */
- rPrintData.GetPrintUIOptions().m_pPostItShell : pShell;
+ rPrintData.GetRenderData().m_pPostItShell : pShell;
::SetSwVisArea( pViewSh2, pStPage->Frm() ); // TLPDF
// TLPDF nJobStartError = JOBSET_ERR_ISSTARTET;
}
diff --git a/sw/source/ui/config/optpage.cxx b/sw/source/ui/config/optpage.cxx
index 4b85042d0003..3c529263f66d 100644
--- a/sw/source/ui/config/optpage.cxx
+++ b/sw/source/ui/config/optpage.cxx
@@ -473,14 +473,14 @@ BOOL SwAddPrinterTabPage::FillItemSet( SfxItemSet& rCoreSet )
aAddPrinterAttr.bPrintHiddenText = aPrintHiddenTextCB.IsChecked();
aAddPrinterAttr.bPrintTextPlaceholder = aPrintTextPlaceholderCB.IsChecked();
- aAddPrinterAttr.bPrintLeftPage = aLeftPageCB.IsChecked();
- aAddPrinterAttr.bPrintRightPage = aRightPageCB.IsChecked();
- aAddPrinterAttr.bPrintReverse = aReverseCB.IsChecked();
- aAddPrinterAttr.bPrintProspect = aProspectCB.IsChecked();
- aAddPrinterAttr.bPrintProspect_RTL = aProspectCB_RTL.IsChecked();
- aAddPrinterAttr.bPaperFromSetup = aPaperFromSetupCB.IsChecked();
- aAddPrinterAttr.bPrintEmptyPages = aPrintEmptyPagesCB.IsChecked();
- aAddPrinterAttr.bPrintSingleJobs = aSingleJobsCB.IsChecked();
+ aAddPrinterAttr.bPrintLeftPages = aLeftPageCB.IsChecked();
+ aAddPrinterAttr.bPrintRightPages = aRightPageCB.IsChecked();
+ aAddPrinterAttr.bPrintReverse = aReverseCB.IsChecked();
+ aAddPrinterAttr.bPrintProspect = aProspectCB.IsChecked();
+ aAddPrinterAttr.bPrintProspectRTL = aProspectCB_RTL.IsChecked();
+ aAddPrinterAttr.bPaperFromSetup = aPaperFromSetupCB.IsChecked();
+ aAddPrinterAttr.bPrintEmptyPages = aPrintEmptyPagesCB.IsChecked();
+ aAddPrinterAttr.bPrintSingleJobs = aSingleJobsCB.IsChecked();
if (aNoRB.IsChecked()) aAddPrinterAttr.nPrintPostIts =
POSTITS_NONE;
@@ -516,13 +516,13 @@ void SwAddPrinterTabPage::Reset( const SfxItemSet& )
aBlackFontCB.Check( pAddPrinterAttr->bPrintBlackFont);
aPrintHiddenTextCB.Check( pAddPrinterAttr->bPrintHiddenText);
aPrintTextPlaceholderCB.Check(pAddPrinterAttr->bPrintTextPlaceholder);
- aLeftPageCB.Check( pAddPrinterAttr->bPrintLeftPage);
- aRightPageCB.Check( pAddPrinterAttr->bPrintRightPage);
+ aLeftPageCB.Check( pAddPrinterAttr->bPrintLeftPages);
+ aRightPageCB.Check( pAddPrinterAttr->bPrintRightPages);
aReverseCB.Check( pAddPrinterAttr->bPrintReverse);
aPaperFromSetupCB.Check(pAddPrinterAttr->bPaperFromSetup);
aPrintEmptyPagesCB.Check(pAddPrinterAttr->bPrintEmptyPages);
aProspectCB.Check( pAddPrinterAttr->bPrintProspect);
- aProspectCB_RTL.Check( pAddPrinterAttr->bPrintProspect_RTL);
+ aProspectCB_RTL.Check( pAddPrinterAttr->bPrintProspectRTL);
aSingleJobsCB.Check( pAddPrinterAttr->bPrintSingleJobs);
aNoRB.Check (pAddPrinterAttr->nPrintPostIts== POSTITS_NONE ) ;
diff --git a/sw/source/ui/config/prtopt.cxx b/sw/source/ui/config/prtopt.cxx
index 41a118614b95..ceb48b6adefe 100644
--- a/sw/source/ui/config/prtopt.cxx
+++ b/sw/source/ui/config/prtopt.cxx
@@ -119,13 +119,13 @@ SwPrintOptions::SwPrintOptions(sal_Bool bWeb) :
break;
case 6: bPrintReverse = *(sal_Bool*)pValues[nProp].getValue(); break;
case 7: bPrintProspect = *(sal_Bool*)pValues[nProp].getValue(); break;
- case 8: bPrintProspect_RTL = *(sal_Bool*)pValues[nProp].getValue(); break;
+ case 8: bPrintProspectRTL = *(sal_Bool*)pValues[nProp].getValue(); break;
case 9: bPrintSingleJobs = *(sal_Bool*)pValues[nProp].getValue(); break;
case 10: pValues[nProp] >>= sFaxName; break;
case 11: bPaperFromSetup = *(sal_Bool*)pValues[nProp].getValue(); break;
case 12: bPrintDraw = *(sal_Bool*)pValues[nProp].getValue() ; break;
- case 13: bPrintLeftPage = *(sal_Bool*)pValues[nProp].getValue(); break;
- case 14: bPrintRightPage = *(sal_Bool*)pValues[nProp].getValue(); break;
+ case 13: bPrintLeftPages = *(sal_Bool*)pValues[nProp].getValue(); break;
+ case 14: bPrintRightPages = *(sal_Bool*)pValues[nProp].getValue(); break;
case 15: bPrintEmptyPages = *(sal_Bool*)pValues[nProp].getValue(); break;
case 16: bPrintTextPlaceholder = *(sal_Bool*)pValues[nProp].getValue(); break;
case 17: bPrintHiddenText = *(sal_Bool*)pValues[nProp].getValue(); break;
@@ -164,13 +164,13 @@ void SwPrintOptions::Commit()
case 5: pValues[nProp] <<= (sal_Int32)nPrintPostIts ; break;
case 6: bVal = bPrintReverse ; pValues[nProp].setValue(&bVal, rType); break;
case 7: bVal = bPrintProspect ; pValues[nProp].setValue(&bVal, rType); break;
- case 8: bVal = bPrintProspect_RTL ; pValues[nProp].setValue(&bVal, rType); break;
+ case 8: bVal = bPrintProspectRTL ; pValues[nProp].setValue(&bVal, rType); break;
case 9: bVal = bPrintSingleJobs ; pValues[nProp].setValue(&bVal, rType); break;
case 10: pValues[nProp] <<= sFaxName; break;
case 11: bVal = bPaperFromSetup ; pValues[nProp].setValue(&bVal, rType); break;
case 12: bVal = bPrintDraw ; pValues[nProp].setValue(&bVal, rType); break;
- case 13: bVal = bPrintLeftPage ; pValues[nProp].setValue(&bVal, rType); break;
- case 14: bVal = bPrintRightPage ; pValues[nProp].setValue(&bVal, rType); break;
+ case 13: bVal = bPrintLeftPages ; pValues[nProp].setValue(&bVal, rType); break;
+ case 14: bVal = bPrintRightPages ; pValues[nProp].setValue(&bVal, rType); break;
case 15: bVal = bPrintEmptyPages ; pValues[nProp].setValue(&bVal, rType); break;
case 16: bVal = bPrintTextPlaceholder; pValues[nProp].setValue(&bVal, rType); break;
case 17: bVal = bPrintHiddenText; pValues[nProp].setValue(&bVal, rType); break;
diff --git a/sw/source/ui/dbui/dbmgr.cxx b/sw/source/ui/dbui/dbmgr.cxx
index a5cfd66a740a..ff29ca8638e2 100644
--- a/sw/source/ui/dbui/dbmgr.cxx
+++ b/sw/source/ui/dbui/dbmgr.cxx
@@ -458,6 +458,7 @@ BOOL SwNewDBMgr::MergeNew(const SwMergeDescriptor& rMergeDesc )
case DBMGR_MERGE_MAILMERGE: // Serienbrief
{
SwView& rView = rMergeDesc.rSh.GetView();
+#ifdef TL_NOT_NOW /*TLPDF*/
SfxDispatcher *pDis = rView.GetViewFrame()->GetDispatcher();
SfxItemSet aPrintArgs( rView.GetPool(),
SID_SILENT, SID_SILENT, //5528
@@ -522,9 +523,42 @@ BOOL SwNewDBMgr::MergeNew(const SwMergeDescriptor& rMergeDesc )
}
}
- pDis->Execute( SID_PRINTDOC,
- SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD,
- aPrintArgs );
+#endif //def TL_NOT_NOW /*TLPDF*/
+
+// TLPDF pDis->Execute( SID_PRINTDOC,
+// TLPDF SFX_CALLMODE_SYNCHRON|SFX_CALLMODE_RECORD,
+// TLPDF aPrintArgs );
+#if OSL_DEBUG_LEVEL > 1
+ sal_Bool _bVal;
+ sal_Int16 _nVal;
+ rtl::OUString _sVal;
+ const beans::PropertyValue* pPrintOptions = rMergeDesc.aPrintOptions.getConstArray();
+ for( sal_Int32 nOption = 0; nOption < rMergeDesc.aPrintOptions.getLength(); ++nOption)
+ {
+ rtl::OUString aName( pPrintOptions[nOption].Name );
+ uno::Any aVal( pPrintOptions[nOption].Value );
+ aVal >>= _bVal;
+ aVal >>= _nVal;
+ aVal >>= _sVal;
+ }
+#endif
+
+ // printing should be done synchronous otherwise the document
+ // might already become invalid during the process
+ uno::Sequence< beans::PropertyValue > aOptions( rMergeDesc.aPrintOptions );
+ const sal_Int32 nOpts = aOptions.getLength();
+ aOptions.realloc( nOpts + 1 );
+ aOptions[ nOpts ].Name = rtl::OUString::createFromAscii( "Wait" );
+ aOptions[ nOpts ].Value <<= sal_True ;
+
+ const SwModuleOptions * pModOpt = SW_MOD()->GetModuleConfig();
+ if (pModOpt->IsSinglePrintJob())
+ {
+ }
+ else
+ {
+ rView.ExecPrint( aOptions, sal_False, sal_False );
+ }
}
break;
@@ -858,12 +892,9 @@ SwNewDBMgr::~SwNewDBMgr()
--------------------------------------------------------------------*/
-BOOL SwNewDBMgr::MergePrint( SwView& /*rView*/,
- SwPrtOptions& /*rOpt*/, SfxProgress& /*rProgress*/, BOOL /*bIsAPI*/ )
+BOOL SwNewDBMgr::MergePrint( SwView& rView,
+ SwPrtOptions& rOpt, SfxProgress& rProgress, BOOL bIsAPI )
{
- DBG_ASSERT( 0, "not implemented" );
- return FALSE;
-#ifdef TL_NOT_NOW /* TLPDF */
SwWrtShell* pSh = &rView.GetWrtShell();
//check if the doc is synchronized and contains at least one linked section
BOOL bSynchronizedDoc = pSh->IsLabelDoc() && pSh->GetSectionFmtCount() > 1;
@@ -971,11 +1002,11 @@ BOOL SwNewDBMgr::MergePrint( SwView& /*rView*/,
}
if( pPrt->IsJobActive() )
{
- pSh->PrintProspectMM( aPrtAdaptor, aViewProperties, rOpt, rOpt.IsPrintProspect_RTL() ); /* TLPDF */
+ pSh->PrintProspectMM( aPrtAdaptor, aViewProperties, rOpt, rOpt.IsPrintProspectRTL() ); /* TLPDF */
bRet = TRUE;
}
#endif // TL_NOT_NOW /*TLPDF*/
- pSh->PrintProspectMM( aPrtAdaptor, aViewProperties, rOpt, rOpt.IsPrintProspect_RTL() ); // TLPDF
+ pSh->PrintProspectMM( aPrtAdaptor, aViewProperties, rOpt, rOpt.IsPrintProspectRTL() ); // TLPDF
bRet = TRUE; // TLPDF
}
else if( pSh->PrintOrPDFExportMM( aPrtAdaptor, aViewProperties, rOpt ) /* TLPDF */ )
@@ -1027,17 +1058,13 @@ BOOL SwNewDBMgr::MergePrint( SwView& /*rView*/,
}
return bRet;
-#endif // TL_NOT_NOW /* TLPDF */
}
/*-- 21.06.2004 09:08:16---------------------------------------------------
-----------------------------------------------------------------------*/
-BOOL SwNewDBMgr::MergePrintDocuments( SwView& /*rView*/,
- SwPrtOptions& /*rOpt*/, SfxProgress& /*rProgress*/, BOOL /*bIsAPI*/ )
+BOOL SwNewDBMgr::MergePrintDocuments( SwView& rView,
+ SwPrtOptions& rOpt, SfxProgress& rProgress, BOOL bIsAPI )
{
- DBG_ASSERT( 0, "not implemented" );
- return FALSE;
-#ifdef TL_NOT_NOW /* TLPDF */
SwWrtShell* pSh = &rView.GetWrtShell();
//check if the doc is synchronized and contains at least one linked section
//merge source is already open
@@ -1144,7 +1171,7 @@ BOOL SwNewDBMgr::MergePrintDocuments( SwView& /*rView*/,
{
//TLPDF if( pPrt->IsJobActive() || pPrt->StartJob( rOpt.GetJobName() ))
//TLPDF {
- pSh->PrintProspectMM( aPrtAdaptor, aAddViewProperties, rOpt, rOpt.IsPrintProspect_RTL() );
+ pSh->PrintProspectMM( aPrtAdaptor, aAddViewProperties, rOpt, rOpt.IsPrintProspectRTL() );
bRet = TRUE;
//TLPDF }
}
@@ -1192,7 +1219,6 @@ BOOL SwNewDBMgr::MergePrintDocuments( SwView& /*rView*/,
}
return bRet;
-#endif // TL_NOT_NOW /* TLPDF */
}
diff --git a/sw/source/ui/inc/cfgitems.hxx b/sw/source/ui/inc/cfgitems.hxx
index 620d3ac52b23..bb301283a005 100644
--- a/sw/source/ui/inc/cfgitems.hxx
+++ b/sw/source/ui/inc/cfgitems.hxx
@@ -155,15 +155,15 @@ public:
BOOL IsPrintProspect() const { return bPrintProspect; }
- BOOL IsPrintProspect_RTL() const { return bPrintProspect_RTL; }
+ BOOL IsPrintProspectRTL() const { return bPrintProspectRTL; }
void SetPrintProspect(BOOL bFlag ){ bPrintProspect = bFlag; }
- void SetPrintProspect_RTL(BOOL bFlag ){ bPrintProspect_RTL = bFlag; }
+ void SetPrintProspectRTL(BOOL bFlag ){ bPrintProspectRTL = bFlag; }
BOOL IsPrintGraphic () const { return bPrintGraphic; }
BOOL IsPrintTable () const { return bPrintTable; }
BOOL IsPrintDraw () const { return bPrintDraw; }
BOOL IsPrintControl () const { return bPrintControl; }
- BOOL IsPrintLeftPage () const { return bPrintLeftPage; }
- BOOL IsPrintRightPage() const { return bPrintRightPage; }
+ BOOL IsPrintLeftPage () const { return bPrintLeftPages; }
+ BOOL IsPrintRightPage() const { return bPrintRightPages; }
BOOL IsPrintReverse () const { return bPrintReverse; }
BOOL IsPaperFromSetup() const { return bPaperFromSetup; }
BOOL IsPrintEmptyPages() const { return bPrintEmptyPages; }
diff --git a/sw/source/ui/uiview/view.cxx b/sw/source/ui/uiview/view.cxx
index 5e3afd2ed8fa..642c34352a0e 100644
--- a/sw/source/ui/uiview/view.cxx
+++ b/sw/source/ui/uiview/view.cxx
@@ -1975,7 +1975,7 @@ void SwView::MakeOptions( PrintDialog* pDlg, SwPrtOptions& rOpts,
if( pPrtProspect )
*pPrtProspect = pData->bPrintProspect;
if( pPrtProspect_RTL )
- *pPrtProspect_RTL = pData->bPrintProspect_RTL;
+ *pPrtProspect_RTL = pData->bPrintProspectRTL;
rOpts.aMulti.SetTotalRange( Range( 0, RANGE_MAX ) );
rOpts.aMulti.SelectAll( FALSE );
rOpts.nCopyCount = 1;
diff --git a/sw/source/ui/uiview/viewprt.cxx b/sw/source/ui/uiview/viewprt.cxx
index b6f2308d9888..4a7e6477aa7f 100644
--- a/sw/source/ui/uiview/viewprt.cxx
+++ b/sw/source/ui/uiview/viewprt.cxx
@@ -178,10 +178,6 @@ USHORT __EXPORT SwView::SetPrinter(SfxPrinter* pNew, USHORT nDiffFlags, bool )
ErrCode SwView::DoPrint( SfxPrinter* pPrinter, PrintDialog* pDlg, BOOL bSilent, BOOL bIsAPI )
{
- (void) pPrinter; (void) pDlg; (void) bSilent; (void) bIsAPI;
- DBG_ASSERT( 0, "not implemented" );
- return 0;
-#ifdef TL_NOT_NOW /* TLPDF */
// First test
SwWrtShell* pSh = &GetWrtShell();
SwNewDBMgr* pMgr = pSh->GetNewDBMgr();
@@ -376,7 +372,7 @@ ErrCode SwView::DoPrint( SfxPrinter* pPrinter, PrintDialog* pDlg, BOOL bSilent,
pViewProperties[10].Value <<= (text::NotePrintMode) aOpts.GetPrintPostIts();
pViewProperties[11].Name = C2U("PrintProspect");
pViewProperties[11].Value <<= (sal_Bool)aOpts.IsPrintProspect();
- pViewProperties[12].Name = C2U("PrintPageBackground");
+ pViewProperties[12].Name = C2U("PrintPageBackground");
pViewProperties[12].Value <<= (sal_Bool)aOpts.IsPrintPageBackground();
pViewProperties[13].Name = C2U("PrintBlackFonts");
pViewProperties[13].Value <<= (sal_Bool)aOpts.IsPrintBlackFont();
@@ -447,7 +443,6 @@ ErrCode SwView::DoPrint( SfxPrinter* pPrinter, PrintDialog* pDlg, BOOL bSilent,
//TLPDF pProgress->DeleteOnEndPrint();
//TLPDF pPrinter->EndJob();
return pPrinter->GetError();
-#endif // TL_NOT_NOW /* TLPDF */
}
diff --git a/sw/source/ui/uno/unotxdoc.cxx b/sw/source/ui/uno/unotxdoc.cxx
index 3b774180dd63..46696961dca4 100644
--- a/sw/source/ui/uno/unotxdoc.cxx
+++ b/sw/source/ui/uno/unotxdoc.cxx
@@ -360,7 +360,8 @@ SwXTextDocument::SwXTextDocument(SwDocShell* pShell) :
pxLinkTargetSupplier(0),
pxXRedlines(0),
m_pHiddenViewFrame(0),
- m_pPrintUIOptions( NULL )
+ m_pPrintUIOptions( NULL ),
+ m_pRenderData( NULL )
{
}
/*-- 18.12.98 11:53:00---------------------------------------------------
@@ -376,6 +377,7 @@ SwXTextDocument::~SwXTextDocument()
xNumFmtAgg = 0;
}
delete m_pPrintUIOptions;
+ delete m_pRenderData;
}
@@ -2626,6 +2628,8 @@ sal_Int32 SAL_CALL SwXTextDocument::getRendererCount(
if(!IsValid())
throw RuntimeException();
+ if( ! m_pRenderData )
+ m_pRenderData = new SwRenderData;
if( ! m_pPrintUIOptions )
{
const BOOL bWebDoc = (0 != PTR_CAST(SwWebDocShell, pDocShell));
@@ -2680,8 +2684,8 @@ sal_Int32 SAL_CALL SwXTextDocument::getRendererCount(
const bool bPrintProspect = m_pPrintUIOptions->getBoolValue( "PrintProspect", false );
if (bPrintProspect)
{
- pDoc->CalculatePagePairsForProspectPrinting( *m_pPrintUIOptions, nPageCount );
- nRet = m_pPrintUIOptions->GetPagePairsForProspectPrinting().size();
+ pDoc->CalculatePagePairsForProspectPrinting( *m_pRenderData, *m_pPrintUIOptions, nPageCount );
+ nRet = m_pRenderData->GetPagePairsForProspectPrinting().size();
}
else
{
@@ -2689,20 +2693,20 @@ sal_Int32 SAL_CALL SwXTextDocument::getRendererCount(
if (nPostItMode != POSTITS_NONE)
{
OutputDevice *pOutDev = lcl_GetOutputDevice( *m_pPrintUIOptions );
- m_pPrintUIOptions->CreatePostItData( pDoc, pWrtShell->GetViewOptions(), pOutDev );
+ m_pRenderData->CreatePostItData( pDoc, pWrtShell->GetViewOptions(), pOutDev );
}
// get set of valid document pages (according to the current settings)
// and their start frames
- pDoc->CalculatePagesForPrinting( *m_pPrintUIOptions, bIsPDFExport, nPageCount );
+ pDoc->CalculatePagesForPrinting( *m_pRenderData, *m_pPrintUIOptions, bIsPDFExport, nPageCount );
if (nPostItMode != POSTITS_NONE)
{
- pDoc->UpdatePagesForPrintingWithPostItData(
+ pDoc->UpdatePagesForPrintingWithPostItData( *m_pRenderData,
*m_pPrintUIOptions, bIsPDFExport, nPageCount );
}
- nRet = m_pPrintUIOptions->GetPagesToPrint().size();
+ nRet = m_pRenderData->GetPagesToPrint().size();
}
DBG_ASSERT( nRet >= 0, "negative number of pages???" );
@@ -2721,6 +2725,8 @@ uno::Sequence< beans::PropertyValue > SAL_CALL SwXTextDocument::getRenderer(
if(!IsValid())
throw RuntimeException();
+ if( ! m_pRenderData )
+ m_pRenderData = new SwRenderData;
if( ! m_pPrintUIOptions )
{
const BOOL bWebDoc = (0 != PTR_CAST(SwWebDocShell, pDocShell));
@@ -2812,6 +2818,8 @@ void SAL_CALL SwXTextDocument::render(
if(!IsValid())
throw RuntimeException();
+ if (!m_pRenderData)
+ m_pRenderData = new SwRenderData;
if (!m_pPrintUIOptions)
{
const BOOL bWebDoc = (0 != PTR_CAST(SwWebDocShell, pDocShell));
@@ -2846,8 +2854,8 @@ void SAL_CALL SwXTextDocument::render(
// Thus instead of throwing the exception we silently return.
if (0 > nRenderer)
throw IllegalArgumentException();
- if ( (bPrintProspect && size_t(nRenderer) >= m_pPrintUIOptions->GetPagePairsForProspectPrinting().size())
- || (!bPrintProspect && size_t(nRenderer) >= m_pPrintUIOptions->GetPagesToPrint().size()))
+ if ( (bPrintProspect && size_t(nRenderer) >= m_pRenderData->GetPagePairsForProspectPrinting().size())
+ || (!bPrintProspect && size_t(nRenderer) >= m_pRenderData->GetPagesToPrint().size()))
return;
// the view shell should be SwView for documents PDF export
@@ -2885,15 +2893,15 @@ void SAL_CALL SwXTextDocument::render(
aOptions.bPrintTable = m_pPrintUIOptions->IsPrintTables();
aOptions.bPrintDraw = m_pPrintUIOptions->IsPrintDrawings();
aOptions.bPrintControl = m_pPrintUIOptions->getBoolValue( "PrintControls", aOptions.bPrintControl );
- aOptions.bPrintLeftPage = m_pPrintUIOptions->IsPrintLeftPages();
- aOptions.bPrintRightPage = m_pPrintUIOptions->IsPrintRightPages();
+ aOptions.bPrintLeftPages = m_pPrintUIOptions->IsPrintLeftPages();
+ aOptions.bPrintRightPages = m_pPrintUIOptions->IsPrintRightPages();
aOptions.bPrintPageBackground = m_pPrintUIOptions->getBoolValue( "PrintPageBackground", aOptions.bPrintPageBackground );
aOptions.bPrintEmptyPages = !bIsSkipEmptyPages;
// bUpdateFieldsInPrinting <-- not set here // TLPDF: TODO: remove this from SwPrintData?? Get rid of SwPrtOptions??
aOptions.bPaperFromSetup = m_pPrintUIOptions->getBoolValue( "PrintPaperFromSetup", aOptions.bPaperFromSetup );
aOptions.bPrintReverse = m_pPrintUIOptions->getBoolValue( "PrintReversed", aOptions.bPrintReverse );
aOptions.bPrintProspect = m_pPrintUIOptions->getBoolValue( "PrintProspect", aOptions.bPrintProspect );
- aOptions.bPrintProspect_RTL = m_pPrintUIOptions->getIntValue( "PrintProspectRTL", aOptions.bPrintProspect_RTL ) ? true : false;
+ aOptions.bPrintProspectRTL = m_pPrintUIOptions->getIntValue( "PrintProspectRTL", aOptions.bPrintProspectRTL ) ? true : false;
// bPrintSingleJobs <-- not set here // TLPDF: TODO: remove this from SwPrintData?? Get rid of SwPrtOptions??
// bModified <-- not set here // TLPDF: TODO: remove this from SwPrintData?? Get rid of SwPrtOptions??
aOptions.bPrintBlackFont = m_pPrintUIOptions->getBoolValue( "PrintBlackFonts", aOptions.bPrintBlackFont );
@@ -2901,9 +2909,10 @@ void SAL_CALL SwXTextDocument::render(
aOptions.bPrintTextPlaceholder = m_pPrintUIOptions->getBoolValue( "PrintTextPlaceholder", aOptions.bPrintTextPlaceholder );
aOptions.nPrintPostIts = static_cast< sal_Int16 >(m_pPrintUIOptions->getIntValue( "PrintAnnotationMode", aOptions.nPrintPostIts ));
- //! needs to be set after MakeOptions since the assingment operation in that
- //! function will destroy this pointer
+ //! needs to be set after MakeOptions since the assignment operation in that
+ //! function will destroy the pointers
aOptions.SetPrintUIOptions( m_pPrintUIOptions );
+ aOptions.SetRenderData( m_pRenderData );
Range aRange( nRenderer+1, nRenderer+1 );
MultiSelection aPages( aRange );
@@ -2967,16 +2976,18 @@ void SAL_CALL SwXTextDocument::render(
if (bLastPage)
{
- if (m_pPrintUIOptions->HasPostItData())
- m_pPrintUIOptions->DeletePostItData();
-
+ if (m_pRenderData && m_pRenderData->HasPostItData())
+ m_pRenderData->DeletePostItData();
if (m_pHiddenViewFrame)
{
lcl_DisposeView( m_pHiddenViewFrame, pDocShell );
m_pHiddenViewFrame = 0;
}
+
+ aOptions.SetRenderData( NULL );
aOptions.SetPrintUIOptions( NULL );
- delete m_pPrintUIOptions, m_pPrintUIOptions = NULL;
+ delete m_pRenderData; m_pRenderData = NULL;
+ delete m_pPrintUIOptions; m_pPrintUIOptions = NULL;
}
}
}