summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Kettner <vakevk+libreoffice@gmail.com>2014-05-23 14:43:48 +0200
committerValentin Kettner <vakevk+libreoffice@gmail.com>2014-06-03 19:12:01 +0200
commit051bf9d29e518797932804228668740e977efc13 (patch)
tree200b34a4653b950e1e7eeef7c9113a33ba33e27d
parentdbb2e6befb9d0e970048dfb2c31c7cdc281c8ed5 (diff)
Work on DocumentSettingManager for SwDoc.
Moved mn32DummyCompatabilityOptions1 from SwDoc to DocumentSettingManager and moved a comment from SwDoc to it. Change-Id: I4abd5cd9596d23dc3ac12460ee9b38345d0bf0a7
-rw-r--r--sw/inc/doc.hxx83
-rw-r--r--sw/source/core/doc/DocumentSettingManager.cxx27
-rw-r--r--sw/source/core/doc/docnew.cxx12
-rw-r--r--sw/source/core/inc/DocumentSettingManager.hxx67
-rw-r--r--sw/source/filter/ww8/wrtww8.cxx5
-rw-r--r--sw/source/filter/ww8/ww8par.cxx5
6 files changed, 98 insertions, 101 deletions
diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx
index 1aae4fde6d21..b4ba7e31ff64 100644
--- a/sw/inc/doc.hxx
+++ b/sw/inc/doc.hxx
@@ -463,73 +463,6 @@ private:
// Thus, certain adjustment needed during formatting for these kind of anchored objects.
bool mbContainsAtPageObjWithContentAnchor : 1;
- // COMPATIBILITY FLAGS START
- //
- //
- // HISTORY OF THE COMPATIBILITY FLAGS:
- //
- // SO5:
- // mbParaSpaceMax def = sal_False, sal_True since SO8
- // mbParaSpaceMaxAtPages def = sal_False, sal_True since SO8
- //
- // SO6:
- // mbTabCompat def = sal_False, sal_True since SO8
- //
- // SO7:
- // mbUseVirtualDevice def = sal_True
- // mbAddFlyOffsets def = sal_False, hidden
- //
- // SO7pp1:
- // bOldNumbering def = sal_False, hidden
- //
- // SO8:
- // mbAddExternalLeading def = sal_True
- // mbUseHiResolutionVirtualDevice def = sal_True, hidden
- // mbOldLineSpacing def = sal_False
- // mbAddParaSpacingToTableCells def = sal_True
- // mbUseFormerObjectPos def = sal_False
- // mbUseFormerTextWrapping def = sal_False
- // mbConsiderWrapOnObjPos def = sal_False
- //
- // SO8pp1:
- // mbIgnoreFirstLineIndentInNumbering def = sal_False, hidden
- // mbDoNotJustifyLinesWithManualBreak def = sal_False, hidden
- // mbDoNotResetParaAttrsForNumFont def = sal_False, hidden
- //
- // SO8pp3
- // mbDoNotCaptureDrawObjsOnPage def = sal_False, hidden
- // - Relevant for drawing objects, which don't follow the text flow, but
- // whose position is outside the page area:
- // sal_False: Such drawing objects are captured on the page area of its anchor.
- // sal_True: Such drawing objects can leave the page area, they aren't captured.
- // mbTableRowKeep def = sal_False, hidden
- // mbIgnoreTabsAndBlanksForLineCalculation def = sal_False, hidden
- // mbClipAsCharacterAnchoredWriterFlyFrame def = sal_False, hidden
- // - Introduced in order to re-activate clipping of as-character anchored
- // Writer fly frames in method <SwFlyInCntFrm::MakeAll()> for documents,
- // which are created with version prior SO8/OOo 2.0
- //
- // SO8pp4
- // mbUnixForceZeroExtLeading def = sal_False, hidden
- //
- // SO8pu8
- // mbOldPrinterMetrics def = sal_False, hidden
- //
- // SO9
- // #i24363# tab stops relative to indent
- // mbTabRelativeToIndent def = sal_True, hidden
- // #i89181# suppress tab stop at left indent for paragraphs in lists, whose
- // list level position and space mode equals LABEL_ALIGNMENT and whose list
- // label is followed by a tab character.
- // mbTabAtLeftIndentForParagraphsInList def = sal_False, hidden
-
- // non-ui-compatibility flags:
- bool mbOldPrinterMetrics : 1;
-
- sal_uInt32 mn32DummyCompatabilityOptions1;
- sal_uInt32 mn32DummyCompatabilityOptions2;
- // COMPATIBILITY FLAGS END
-
bool mbStartIdleTimer; //< idle timer mode start/stop
static SwAutoCompleteWord *mpACmpltWords; //< List of all words for AutoComplete
@@ -1989,22 +1922,6 @@ public:
void SetDefaultPageMode(bool bSquaredPageMode);
bool IsSquaredPageMode() const;
- void Setn32DummyCompatabilityOptions1( const sal_uInt32 CompatabilityOptions1 )
- {
- mn32DummyCompatabilityOptions1 = CompatabilityOptions1;
- }
- sal_uInt32 Getn32DummyCompatabilityOptions1()
- {
- return mn32DummyCompatabilityOptions1;
- }
- void Setn32DummyCompatabilityOptions2( const sal_uInt32 CompatabilityOptions2 )
- {
- mn32DummyCompatabilityOptions2 = CompatabilityOptions2;
- }
- sal_uInt32 Getn32DummyCompatabilityOptions2()
- {
- return mn32DummyCompatabilityOptions2;
- }
com::sun::star::uno::Reference< com::sun::star::script::vba::XVBAEventProcessor > GetVbaEventProcessor();
void SetVBATemplateToProjectCache( com::sun::star::uno::Reference< com::sun::star::container::XNameContainer >& xCache ) { m_xTemplateToProjectCache = xCache; };
com::sun::star::uno::Reference< com::sun::star::container::XNameContainer > GetVBATemplateToProjectCache() { return m_xTemplateToProjectCache; };
diff --git a/sw/source/core/doc/DocumentSettingManager.cxx b/sw/source/core/doc/DocumentSettingManager.cxx
index 1f2b3775a1d6..4cd205812bf5 100644
--- a/sw/source/core/doc/DocumentSettingManager.cxx
+++ b/sw/source/core/doc/DocumentSettingManager.cxx
@@ -33,11 +33,12 @@
/* IDocumentSettingAccess */
sw::DocumentSettingManager::DocumentSettingManager(SwDoc &rDoc)
- :m_rDoc(rDoc)
- ,
+ :m_rDoc(rDoc),
mnLinkUpdMode( GLOBALSETTING ),
meFldUpdMode( AUTOUPD_GLOBALSETTING ),
meChrCmprType( CHARCOMPRESS_NONE ),
+ mn32DummyCompatabilityOptions1(0),
+ mn32DummyCompatabilityOptions2(0),
mbHTMLMode(false),
mbIsGlobalDoc(false),
mbGlblDocSaveLinks(false),
@@ -480,6 +481,9 @@ void sw::DocumentSettingManager::setCharacterCompressionType( /*[in]*/SwCharComp
void sw::DocumentSettingManager::ReplaceCompatabilityOptions(const DocumentSettingManager& rSource)
{
+ Setn32DummyCompatabilityOptions1( rSource.Getn32DummyCompatabilityOptions1() );
+ Setn32DummyCompatabilityOptions2( rSource.Getn32DummyCompatabilityOptions2() );
+
mbParaSpaceMax = rSource.mbParaSpaceMax;
mbParaSpaceMaxAtPages = rSource.mbParaSpaceMaxAtPages;
mbTabCompat = rSource.mbTabCompat;
@@ -506,4 +510,23 @@ void sw::DocumentSettingManager::ReplaceCompatabilityOptions(const DocumentSetti
mbTabAtLeftIndentForParagraphsInList = rSource.mbTabAtLeftIndentForParagraphsInList;
}
+sal_uInt32 sw::DocumentSettingManager::Getn32DummyCompatabilityOptions1() const
+{
+ return mn32DummyCompatabilityOptions1;
+}
+
+void sw::DocumentSettingManager::Setn32DummyCompatabilityOptions1( const sal_uInt32 CompatabilityOptions1 )
+{
+ mn32DummyCompatabilityOptions1 = CompatabilityOptions1;
+}
+
+sal_uInt32 sw::DocumentSettingManager::Getn32DummyCompatabilityOptions2() const
+{
+ return mn32DummyCompatabilityOptions2;
+}
+
+void sw::DocumentSettingManager::Setn32DummyCompatabilityOptions2( const sal_uInt32 CompatabilityOptions2 )
+{
+ mn32DummyCompatabilityOptions2 = CompatabilityOptions2;
+}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index 94bd30eb65c4..90f8eae12f7b 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -276,14 +276,6 @@ SwDoc::SwDoc()
#endif
mbContainsAtPageObjWithContentAnchor(false), //#i119292#, fdo#37024
- // COMPATIBILITY FLAGS START
-
- mbOldPrinterMetrics(false),
- mn32DummyCompatabilityOptions1(0),
- mn32DummyCompatabilityOptions2(0),
-
- // COMPATIBILITY FLAGS END
-
mbStartIdleTimer(false),
mbReadOnly(false),
meDocType(DOCTYPE_NATIVE)
@@ -1017,10 +1009,6 @@ void SwDoc::ReplaceDefaults(const SwDoc& rSource)
void SwDoc::ReplaceCompatabilityOptions(const SwDoc& rSource)
{
- mn32DummyCompatabilityOptions1 = rSource.mn32DummyCompatabilityOptions1;
- mn32DummyCompatabilityOptions2 = rSource.mn32DummyCompatabilityOptions2;
- mbOldPrinterMetrics = rSource.mbOldPrinterMetrics;
-
m_pDocumentSettingManager->ReplaceCompatabilityOptions(rSource.GetDocumentSettingManager());
}
diff --git a/sw/source/core/inc/DocumentSettingManager.hxx b/sw/source/core/inc/DocumentSettingManager.hxx
index 2e8ab4bdf3a3..b4fc03e57ab9 100644
--- a/sw/source/core/inc/DocumentSettingManager.hxx
+++ b/sw/source/core/inc/DocumentSettingManager.hxx
@@ -34,6 +34,68 @@ class DocumentSettingManager :
SwFldUpdateFlags meFldUpdMode;//< Automatically Update Mode for fields/charts.
SwCharCompressType meChrCmprType;//< for ASIAN: compress punctuation/kana
+ sal_uInt32 mn32DummyCompatabilityOptions1;
+ sal_uInt32 mn32DummyCompatabilityOptions2;
+
+ // COMPATIBILITY FLAGS START
+ //
+ //
+ // HISTORY OF THE COMPATIBILITY FLAGS:
+ //
+ // SO5:
+ // mbParaSpaceMax def = sal_False, sal_True since SO8
+ // mbParaSpaceMaxAtPages def = sal_False, sal_True since SO8
+ //
+ // SO6:
+ // mbTabCompat def = sal_False, sal_True since SO8
+ //
+ // SO7:
+ // mbUseVirtualDevice def = sal_True
+ // mbAddFlyOffsets def = sal_False, hidden
+ //
+ // SO7pp1:
+ // bOldNumbering def = sal_False, hidden
+ //
+ // SO8:
+ // mbAddExternalLeading def = sal_True
+ // mbUseHiResolutionVirtualDevice def = sal_True, hidden
+ // mbOldLineSpacing def = sal_False
+ // mbAddParaSpacingToTableCells def = sal_True
+ // mbUseFormerObjectPos def = sal_False
+ // mbUseFormerTextWrapping def = sal_False
+ // mbConsiderWrapOnObjPos def = sal_False
+ //
+ // SO8pp1:
+ // mbIgnoreFirstLineIndentInNumbering def = sal_False, hidden
+ // mbDoNotJustifyLinesWithManualBreak def = sal_False, hidden
+ // mbDoNotResetParaAttrsForNumFont def = sal_False, hidden
+ //
+ // SO8pp3
+ // mbDoNotCaptureDrawObjsOnPage def = sal_False, hidden
+ // - Relevant for drawing objects, which don't follow the text flow, but
+ // whose position is outside the page area:
+ // sal_False: Such drawing objects are captured on the page area of its anchor.
+ // sal_True: Such drawing objects can leave the page area, they aren't captured.
+ // mbTableRowKeep def = sal_False, hidden
+ // mbIgnoreTabsAndBlanksForLineCalculation def = sal_False, hidden
+ // mbClipAsCharacterAnchoredWriterFlyFrame def = sal_False, hidden
+ // - Introduced in order to re-activate clipping of as-character anchored
+ // Writer fly frames in method <SwFlyInCntFrm::MakeAll()> for documents,
+ // which are created with version prior SO8/OOo 2.0
+ //
+ // SO8pp4
+ // mbUnixForceZeroExtLeading def = sal_False, hidden
+ //
+ // SO8pu8
+ //
+ // SO9
+ // #i24363# tab stops relative to indent
+ // mbTabRelativeToIndent def = sal_True, hidden
+ // #i89181# suppress tab stop at left indent for paragraphs in lists, whose
+ // list level position and space mode equals LABEL_ALIGNMENT and whose list
+ // label is followed by a tab character.
+ // mbTabAtLeftIndentForParagraphsInList def = sal_False, hidden
+
bool mbHTMLMode : 1; //< TRUE: Document is in HTMLMode.
bool mbIsGlobalDoc : 1; //< TRUE: It's a global document.
bool mbGlblDocSaveLinks : 1; //< TRUE: Save sections linked in global document.
@@ -112,6 +174,11 @@ public:
// Replace all compatability options with those from rSource.
void ReplaceCompatabilityOptions(const DocumentSettingManager& rSource);
+ sal_uInt32 Getn32DummyCompatabilityOptions1() const;
+ void Setn32DummyCompatabilityOptions1( const sal_uInt32 CompatabilityOptions1 );
+ sal_uInt32 Getn32DummyCompatabilityOptions2() const;
+ void Setn32DummyCompatabilityOptions2( const sal_uInt32 CompatabilityOptions2 );
+
};
}
diff --git a/sw/source/filter/ww8/wrtww8.cxx b/sw/source/filter/ww8/wrtww8.cxx
index 409eb82a2af4..a94765cc6328 100644
--- a/sw/source/filter/ww8/wrtww8.cxx
+++ b/sw/source/filter/ww8/wrtww8.cxx
@@ -58,6 +58,7 @@
#include <fmtrowsplt.hxx>
#include <frmatr.hxx>
#include <doc.hxx>
+#include <DocumentSettingManager.hxx>
#include <viewopt.hxx>
#include <docary.hxx>
#include <pam.hxx>
@@ -323,8 +324,8 @@ static void WriteDop( WW8Export& rWrt )
WW8Dop& rDop = *rWrt.pDop;
// i#78951#, store the value of unknown compatability options
- rDop.SetCompatabilityOptions( rWrt.pDoc->Getn32DummyCompatabilityOptions1());
- rDop.SetCompatabilityOptions2( rWrt.pDoc->Getn32DummyCompatabilityOptions2());
+ rDop.SetCompatabilityOptions( rWrt.pDoc->GetDocumentSettingManager().Getn32DummyCompatabilityOptions1());
+ rDop.SetCompatabilityOptions2( rWrt.pDoc->GetDocumentSettingManager().Getn32DummyCompatabilityOptions2());
rDop.fNoLeading = !rWrt.pDoc->get(IDocumentSettingAccess::ADD_EXT_LEADING);
rDop.fUsePrinterMetrics = !rWrt.pDoc->get(IDocumentSettingAccess::USE_VIRTUAL_DEVICE);
diff --git a/sw/source/filter/ww8/ww8par.cxx b/sw/source/filter/ww8/ww8par.cxx
index 438d2dc6d138..fd2b3c2e75a9 100644
--- a/sw/source/filter/ww8/ww8par.cxx
+++ b/sw/source/filter/ww8/ww8par.cxx
@@ -83,6 +83,7 @@
#include <swtable.hxx>
#include <fchrfmt.hxx>
#include <charfmt.hxx>
+#include <DocumentSettingManager.hxx>
#include <fltini.hxx>
@@ -1843,8 +1844,8 @@ void SwWW8ImplReader::ImportDop()
// #i78951# - remember the unknown compatibility options
// so as to export them out
- rDoc.Setn32DummyCompatabilityOptions1( pWDop->GetCompatabilityOptions());
- rDoc.Setn32DummyCompatabilityOptions2( pWDop->GetCompatabilityOptions2());
+ rDoc.GetDocumentSettingManager().Setn32DummyCompatabilityOptions1( pWDop->GetCompatabilityOptions());
+ rDoc.GetDocumentSettingManager().Setn32DummyCompatabilityOptions2( pWDop->GetCompatabilityOptions2());
// The distance between two paragraphs is the sum of the bottom distance of
// the first paragraph and the top distance of the second one