[Libreoffice-commits] core.git: Branch 'feature/refactor-god-objects' - sw/inc sw/Library_sw.mk sw/source
Valentin Kettner
vakevk+libreoffice at gmail.com
Fri Aug 1 08:32:44 PDT 2014
sw/Library_sw.mk | 1
sw/inc/IDocumentState.hxx | 2
sw/inc/doc.hxx | 28 --
sw/source/core/crsr/annotationmark.cxx | 3
sw/source/core/crsr/bookmrk.cxx | 5
sw/source/core/crsr/findattr.cxx | 3
sw/source/core/crsr/findcoll.cxx | 3
sw/source/core/crsr/findtxt.cxx | 3
sw/source/core/doc/DocumentContentOperationsManager.cxx | 39 ++--
sw/source/core/doc/DocumentDeviceManager.cxx | 3
sw/source/core/doc/DocumentFieldsManager.cxx | 13 -
sw/source/core/doc/DocumentLinksAdministrationManager.cxx | 3
sw/source/core/doc/DocumentRedlineManager.cxx | 17 -
sw/source/core/doc/DocumentSettingManager.cxx | 5
sw/source/core/doc/DocumentStateManager.cxx | 133 ++++++++++++++
sw/source/core/doc/DocumentStatisticsManager.cxx | 7
sw/source/core/doc/doc.cxx | 109 ++---------
sw/source/core/doc/docchart.cxx | 3
sw/source/core/doc/doccomp.cxx | 15 -
sw/source/core/doc/docdesc.cxx | 7
sw/source/core/doc/docdraw.cxx | 3
sw/source/core/doc/docedt.cxx | 3
sw/source/core/doc/docfld.cxx | 3
sw/source/core/doc/docfly.cxx | 11 -
sw/source/core/doc/docfmt.cxx | 43 ++--
sw/source/core/doc/docftn.cxx | 7
sw/source/core/doc/doclay.cxx | 15 -
sw/source/core/doc/docnew.cxx | 14 -
sw/source/core/doc/docnum.cxx | 27 +-
sw/source/core/doc/docredln.cxx | 7
sw/source/core/doc/docsort.cxx | 3
sw/source/core/doc/doctxm.cxx | 7
sw/source/core/doc/lineinfo.cxx | 3
sw/source/core/doc/number.cxx | 5
sw/source/core/doc/poolfmt.cxx | 15 -
sw/source/core/docnode/ndsect.cxx | 13 -
sw/source/core/docnode/ndtbl.cxx | 43 ++--
sw/source/core/docnode/ndtbl1.cxx | 17 -
sw/source/core/docnode/nodedump.cxx | 3
sw/source/core/docnode/section.cxx | 3
sw/source/core/edit/edfld.cxx | 3
sw/source/core/edit/edglbldc.cxx | 5
sw/source/core/edit/editsh.cxx | 5
sw/source/core/edit/ednumber.cxx | 11 -
sw/source/core/edit/edtab.cxx | 5
sw/source/core/edit/edws.cxx | 11 -
sw/source/core/fields/ddefld.cxx | 3
sw/source/core/fields/usrfld.cxx | 5
sw/source/core/frmedt/fefly1.cxx | 3
sw/source/core/frmedt/feshview.cxx | 13 -
sw/source/core/frmedt/fetab.cxx | 5
sw/source/core/inc/DocumentStateManager.hxx | 66 ++++++
sw/source/core/layout/anchoreddrawobject.cxx | 5
sw/source/core/layout/colfrm.cxx | 5
sw/source/core/layout/frmtool.cxx | 5
sw/source/core/txtnode/txtatr2.cxx | 9
sw/source/core/undo/docundo.cxx | 1
sw/source/core/unocore/unofield.cxx | 3
sw/source/core/unocore/unotbl.cxx | 3
sw/source/core/view/viewsh.cxx | 5
sw/source/core/view/vnew.cxx | 9
sw/source/filter/basflt/shellio.cxx | 9
sw/source/filter/html/swhtml.cxx | 5
sw/source/filter/ww1/fltshell.cxx | 3
sw/source/filter/ww8/ww8par5.cxx | 3
sw/source/uibase/app/docsh.cxx | 15 -
sw/source/uibase/app/docsh2.cxx | 19 +-
sw/source/uibase/app/docshini.cxx | 7
sw/source/uibase/app/docst.cxx | 13 -
sw/source/uibase/app/docstyle.cxx | 7
sw/source/uibase/dochdl/swdtflvr.cxx | 5
sw/source/uibase/misc/glshell.cxx | 7
sw/source/uibase/uiview/srcview.cxx | 7
sw/source/uibase/uiview/view.cxx | 7
sw/source/uibase/uno/unoatxt.cxx | 3
sw/source/uibase/uno/unotxdoc.cxx | 3
76 files changed, 568 insertions(+), 372 deletions(-)
New commits:
commit c176d8ead7dd9e2f74a55e3b5dce5bef2271ef2d
Author: Valentin Kettner <vakevk+libreoffice at gmail.com>
Date: Fri Aug 1 17:09:54 2014 +0200
Refactored IDocumentState out of SwDoc.
Into the new class DocumentStateManager.
Change-Id: I91c9097b091ff6118d58fd15fff2a4cefe0171fd
diff --git a/sw/Library_sw.mk b/sw/Library_sw.mk
index 6fec65f..29f1e66 100644
--- a/sw/Library_sw.mk
+++ b/sw/Library_sw.mk
@@ -198,6 +198,7 @@ $(eval $(call gb_Library_add_exception_objects,sw,\
sw/source/core/doc/DocumentRedlineManager \
sw/source/core/doc/DocumentFieldsManager \
sw/source/core/doc/DocumentStatisticsManager \
+ sw/source/core/doc/DocumentStateManager \
sw/source/core/doc/extinput \
sw/source/core/doc/fmtcol \
sw/source/core/doc/ftnidx \
diff --git a/sw/inc/IDocumentState.hxx b/sw/inc/IDocumentState.hxx
index 8ba1c74..bc4034c 100644
--- a/sw/inc/IDocumentState.hxx
+++ b/sw/inc/IDocumentState.hxx
@@ -37,6 +37,8 @@ public:
*/
virtual bool IsModified() const = 0;
+ virtual bool IsInCallModified() const = 0;
+
/** State of being loaded or not.
Formerly DocInfo.
*/
diff --git a/sw/inc/doc.hxx b/sw/inc/doc.hxx
index 60278c0..7fd488f 100644
--- a/sw/inc/doc.hxx
+++ b/sw/inc/doc.hxx
@@ -23,7 +23,6 @@
#include <IInterface.hxx>
#include <IDocumentMarkAccess.hxx>
#include <IDocumentStylePoolAccess.hxx>
-#include <IDocumentState.hxx>
#include <IDocumentLayoutAccess.hxx>
#include <IDocumentExternalData.hxx>
#include <com/sun/star/embed/XEmbeddedObject.hpp>
@@ -191,6 +190,7 @@ class IDocumentOutlineNodes;
class IDocumentContentOperations;
class IDocumentRedlineAccess;
class IDocumentStatistics;
+class IDocumentState;
class _SetGetExpFlds;
namespace sw { namespace mark {
@@ -213,6 +213,7 @@ namespace sw {
class DocumentRedlineManager;
class DocumentFieldsManager;
class DocumentStatisticsManager;
+ class DocumentStateManager;
}
namespace com { namespace sun { namespace star {
@@ -251,7 +252,6 @@ void StartGrammarChecking( SwDoc &rDoc );
class SW_DLLPUBLIC SwDoc :
public IInterface,
public IDocumentStylePoolAccess,
- public IDocumentState,
public IDocumentLayoutAccess,
public IDocumentExternalData
{
@@ -280,6 +280,7 @@ class SW_DLLPUBLIC SwDoc :
const ::boost::scoped_ptr< ::sw::MetaFieldManager > m_pMetaFieldManager;
const ::boost::scoped_ptr< ::sw::DocumentDrawModelManager > m_pDocumentDrawModelManager;
const ::boost::scoped_ptr< ::sw::DocumentRedlineManager > m_pDocumentRedlineManager;
+ const ::boost::scoped_ptr< ::sw::DocumentStateManager > m_pDocumentStateManager;
const ::boost::scoped_ptr< ::sw::UndoManager > m_pUndoManager;
const ::boost::scoped_ptr< ::sw::DocumentSettingManager > m_pDocumentSettingManager;
const ::boost::scoped_ptr< ::sw::DocumentChartDataProviderManager > m_pDocumentChartDataProviderManager;
@@ -371,21 +372,15 @@ private:
sal_Int32 mReferenceCount;
bool mbGlossDoc : 1; //< TRUE: glossary document.
- bool mbModified : 1; //< TRUE: document has changed.
bool mbDtor : 1; /**< TRUE: is in SwDoc DTOR.
and unfortunately temorarily also in
SwSwgReader::InLayout() when flawed
frames need deletion. */
- bool mbPageNums : 1; //< TRUE: There are virtual page numbers.
- bool mbLoaded : 1; //< TRUE: Doc loaded.
- bool mbUpdateExpFld : 1; //< TRUE: Update expression fields.
- bool mbNewDoc : 1; //< TRUE: new Doc.
bool mbCopyIsMove : 1; //< TRUE: Copy is a hidden Move.
bool mbInReading : 1; //< TRUE: Document is in the process of being read.
bool mbInXMLImport : 1; //< TRUE: During xml import, attribute portion building is not necessary.
bool mbUpdateTOX : 1; //< TRUE: After loading document, update TOX.
bool mbInLoadAsynchron : 1; //< TRUE: Document is in the process of being loaded asynchronously.
- bool mbInCallModified : 1; //< TRUE: in Set/Reset-Modified link.
bool mbIsAutoFmtRedline : 1; //< TRUE: Redlines are recorded by Autoformat.
bool mbOLEPrtNotifyPending : 1; /**< TRUE: Printer has changed. At creation of
View
@@ -572,17 +567,11 @@ public:
::sw::DocumentStatisticsManager & GetDocumentStatisticsManager();
// IDocumentState
- virtual void SetModified() SAL_OVERRIDE;
- virtual void ResetModified() SAL_OVERRIDE;
- virtual bool IsModified() const SAL_OVERRIDE;
- virtual bool IsLoaded() const SAL_OVERRIDE;
- virtual bool IsUpdateExpFld() const SAL_OVERRIDE;
- virtual bool IsNewDoc() const SAL_OVERRIDE;
- virtual bool IsPageNums() const SAL_OVERRIDE;
- virtual void SetPageNums(bool b) SAL_OVERRIDE;
- virtual void SetNewDoc(bool b) SAL_OVERRIDE;
- virtual void SetUpdateExpFldStat(bool b) SAL_OVERRIDE;
- virtual void SetLoaded(bool b) SAL_OVERRIDE;
+ IDocumentState const & getIDocumentState() const;
+ IDocumentState & getIDocumentState();
+
+ ::sw::DocumentStateManager const & GetDocumentStateManager() const;
+ ::sw::DocumentStateManager & GetDocumentStateManager();
// IDocumentDrawModelAccess
DECL_LINK( AddDrawUndo, SdrUndoAction * );
@@ -755,7 +744,6 @@ public:
void ChangeAuthorityData(const SwAuthEntry* pNewData);
- bool IsInCallModified() const { return mbInCallModified; }
bool IsInHeaderFooter( const SwNodeIndex& rIdx ) const;
short GetTextDirection( const SwPosition& rPos,
const Point* pPt = 0 ) const;
diff --git a/sw/source/core/crsr/annotationmark.cxx b/sw/source/core/crsr/annotationmark.cxx
index faa379c..4e2e958 100644
--- a/sw/source/core/crsr/annotationmark.cxx
+++ b/sw/source/core/crsr/annotationmark.cxx
@@ -22,6 +22,7 @@
#include <doc.hxx>
#include <IDocumentMarkAccess.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <fldbas.hxx>
#include <switerator.hxx>
#include <fmtfld.hxx>
@@ -75,7 +76,7 @@ namespace sw { namespace mark
{
io_pDoc->GetIDocumentUndoRedo().AppendUndo( new SwUndoInsBookmark(*this) );
}
- io_pDoc->SetModified();
+ io_pDoc->getIDocumentState().SetModified();
}
const SwFmtFld* AnnotationMark::GetAnnotationFmtFld() const
diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx
index 0f533d1..4fb51af 100644
--- a/sw/source/core/crsr/bookmrk.cxx
+++ b/sw/source/core/crsr/bookmrk.cxx
@@ -21,6 +21,7 @@
#include <IDocumentMarkAccess.hxx>
#include <IDocumentUndoRedo.hxx>
#include <IDocumentLinksAdministration.hxx>
+#include <IDocumentState.hxx>
#include <doc.hxx>
#include <ndtxt.hxx>
#include <pam.hxx>
@@ -265,7 +266,7 @@ namespace sw { namespace mark
io_pDoc->GetIDocumentUndoRedo().AppendUndo(
new SwUndoInsBookmark(*this));
}
- io_pDoc->SetModified();
+ io_pDoc->getIDocumentState().SetModified();
}
::sfx2::IXmlIdRegistry& Bookmark::GetRegistry()
@@ -386,7 +387,7 @@ namespace sw { namespace mark
// mark document as modified
SwDoc *const pDoc( GetMarkPos().GetDoc() );
if ( pDoc )
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
}
}
diff --git a/sw/source/core/crsr/findattr.cxx b/sw/source/core/crsr/findattr.cxx
index 82e9904..310c8d6 100644
--- a/sw/source/core/crsr/findattr.cxx
+++ b/sw/source/core/crsr/findattr.cxx
@@ -35,6 +35,7 @@
#include <charfmt.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <swcrsr.hxx>
#include <editsh.hxx>
#include <ndtxt.hxx>
@@ -1240,7 +1241,7 @@ sal_uLong SwCursor::Find( const SfxItemSet& rSet, bool bNoCollections,
sal_uLong nRet = FindAll( aSwFindParaAttr, nStart, nEnd, eFndRngs, bCancel );
pDoc->SetOle2Link( aLnk );
if( nRet && bReplace )
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
if (bStartUndo)
{
diff --git a/sw/source/core/crsr/findcoll.cxx b/sw/source/core/crsr/findcoll.cxx
index 1e67ae5..f0e88e1 100644
--- a/sw/source/core/crsr/findcoll.cxx
+++ b/sw/source/core/crsr/findcoll.cxx
@@ -21,6 +21,7 @@
#include <swcrsr.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <pamtyp.hxx>
#include <swundo.hxx>
#include <SwRewriter.hxx>
@@ -91,7 +92,7 @@ sal_uLong SwCursor::Find( const SwTxtFmtColl& rFmtColl, SwDocPositions nStart,
pDoc->SetOle2Link( aLnk );
if( nRet && pReplFmtColl )
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
if (bStartUndo)
{
diff --git a/sw/source/core/crsr/findtxt.cxx b/sw/source/core/crsr/findtxt.cxx
index 9f329fc..277b729 100644
--- a/sw/source/core/crsr/findtxt.cxx
+++ b/sw/source/core/crsr/findtxt.cxx
@@ -31,6 +31,7 @@
#include <swcrsr.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <pamtyp.hxx>
#include <ndtxt.hxx>
#include <swundo.hxx>
@@ -630,7 +631,7 @@ sal_uLong SwCursor::Find( const SearchOptions& rSearchOpt, bool bSearchInNotes,
sal_uLong nRet = FindAll( aSwFindParaText, nStart, nEnd, eFndRngs, bCancel );
pDoc->SetOle2Link( aLnk );
if( nRet && bReplace )
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
if (bStartUndo)
{
diff --git a/sw/source/core/doc/DocumentContentOperationsManager.cxx b/sw/source/core/doc/DocumentContentOperationsManager.cxx
index 8c777ad..73e2e660 100644
--- a/sw/source/core/doc/DocumentContentOperationsManager.cxx
+++ b/sw/source/core/doc/DocumentContentOperationsManager.cxx
@@ -21,6 +21,7 @@
#include <IDocumentUndoRedo.hxx>
#include <IDocumentMarkAccess.hxx>
#include <DocumentRedlineManager.hxx>
+#include <IDocumentState.hxx>
#include <UndoManager.hxx>
#include <docary.hxx>
#include <textboxhelper.hxx>
@@ -1691,7 +1692,7 @@ DocumentContentOperationsManager::CopyRange( SwPaM& rPam, SwPosition& rPos, cons
*pRedlineRange->GetMark() = *aPam.GetMark();
}
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
bRet = true;
}
@@ -1869,7 +1870,7 @@ bool DocumentContentOperationsManager::DelFullPara( SwPaM& rPam )
m_rSwdoc.GetNodes().Delete( aRg.aStart, nNodeDiff+1 );
}
rPam.DeleteMark();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -2120,7 +2121,7 @@ bool DocumentContentOperationsManager::MoveRange( SwPaM& rPaM, SwPosition& rPos,
m_rSwdoc.GetFtnIdxs().UpdateAllFtn();
}
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -2253,7 +2254,7 @@ bool DocumentContentOperationsManager::MoveNodeRange( SwNodeRange& rRange, SwNod
m_rSwdoc.GetFtnIdxs().UpdateAllFtn();
}
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -2384,7 +2385,7 @@ bool DocumentContentOperationsManager::Overwrite( const SwPaM &rRg, const OUStri
m_rSwdoc.getIDocumentRedlineAccess().AppendRedline( new SwRangeRedline( nsRedlineType_t::REDLINE_INSERT, aPam ), true);
}
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -2480,7 +2481,7 @@ bool DocumentContentOperationsManager::InsertString( const SwPaM &rRg, const OUS
}
}
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -2558,7 +2559,7 @@ void DocumentContentOperationsManager::TransliterateText(
else
delete pUndo;
}
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
SwFlyFrmFmt* DocumentContentOperationsManager::Insert( const SwPaM &rRg,
@@ -2657,7 +2658,7 @@ void DocumentContentOperationsManager::ReRead( SwPaM& rPam, const OUString& rGrf
pGrfNd->SetAttr( SwMirrorGrf() );
pGrfNd->ReRead( rGrfName, rFltName, pGraphic, pGrafObj, true );
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
}
@@ -2768,7 +2769,7 @@ SwDrawFrmFmt* DocumentContentOperationsManager::InsertDrawObj(
m_rSwdoc.GetIDocumentUndoRedo().AppendUndo( new SwUndoInsLayFmt(pFmt, 0, 0) );
}
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return pFmt;
}
@@ -2869,7 +2870,7 @@ bool DocumentContentOperationsManager::SplitNode( const SwPosition &rPos, bool b
if( pUndo )
pUndo->SetTblFlag();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
}
@@ -2900,7 +2901,7 @@ bool DocumentContentOperationsManager::SplitNode( const SwPosition &rPos, bool b
}
}
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -2938,7 +2939,7 @@ bool DocumentContentOperationsManager::AppendTxtNode( SwPosition& rPos )
m_rSwdoc.getIDocumentRedlineAccess().SplitRedline( aPam );
}
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -3044,7 +3045,7 @@ bool DocumentContentOperationsManager::InsertPoolItem(
if( bRet )
{
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
return bRet;
}
@@ -3068,7 +3069,7 @@ bool DocumentContentOperationsManager::InsertItemSet ( const SwPaM &rRg, const S
}
if( bRet )
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return bRet;
}
@@ -3476,7 +3477,7 @@ bool DocumentContentOperationsManager::DeleteAndJoinWithRedlineImpl( SwPaM & rPa
if ( *rPam.GetPoint() != *rPam.GetMark() )
m_rSwdoc.getIDocumentRedlineAccess().AppendRedline( new SwRangeRedline( nsRedlineType_t::REDLINE_DELETE, rPam ), true );
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
if ( pUndo )
{
@@ -3614,7 +3615,7 @@ bool DocumentContentOperationsManager::DeleteRangeImplImpl(SwPaM & rPam)
m_rSwdoc.GetIDocumentUndoRedo().AppendUndo( new SwUndoDelete( rPam ) );
}
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -3724,7 +3725,7 @@ bool DocumentContentOperationsManager::DeleteRangeImplImpl(SwPaM & rPam)
if( !m_rSwdoc.getIDocumentRedlineAccess().IsIgnoreRedline() && !m_rSwdoc.getIDocumentRedlineAccess().GetRedlineTbl().empty() )
m_rSwdoc.getIDocumentRedlineAccess().CompressRedlines();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -3964,7 +3965,7 @@ bool DocumentContentOperationsManager::ReplaceRangeImpl( SwPaM& rPam, const OUSt
if( bJoinTxt )
::sw_JoinText( rPam, bJoinPrev );
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return true;
}
@@ -4450,7 +4451,7 @@ bool DocumentContentOperationsManager::CopyImpl( SwPaM& rPam, SwPosition& rPos,
}
pDoc->getIDocumentRedlineAccess().SetRedlineMode_intern( eOld );
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
return true;
}
diff --git a/sw/source/core/doc/DocumentDeviceManager.cxx b/sw/source/core/doc/DocumentDeviceManager.cxx
index f1b76a4..6198f89 100644
--- a/sw/source/core/doc/DocumentDeviceManager.cxx
+++ b/sw/source/core/doc/DocumentDeviceManager.cxx
@@ -23,6 +23,7 @@
#include <doc.hxx>
#include <DocumentSettingManager.hxx>
#include <IDocumentDrawModelAccess.hxx>
+#include <IDocumentState.hxx>
#include <sfx2/printer.hxx>
#include <vcl/virdev.hxx>
#include <vcl/outdev.hxx>
@@ -166,7 +167,7 @@ void DocumentDeviceManager::setReferenceDeviceType(/*[in]*/ bool bNewVirtual, /*
m_rSwdoc.GetDocumentSettingManager().set(IDocumentSettingAccess::USE_VIRTUAL_DEVICE, bNewVirtual );
m_rSwdoc.GetDocumentSettingManager().set(IDocumentSettingAccess::USE_HIRES_VIRTUAL_DEVICE, bNewHiRes );
PrtDataChanged();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
}
diff --git a/sw/source/core/doc/DocumentFieldsManager.cxx b/sw/source/core/doc/DocumentFieldsManager.cxx
index 860765f..764bfa3 100644
--- a/sw/source/core/doc/DocumentFieldsManager.cxx
+++ b/sw/source/core/doc/DocumentFieldsManager.cxx
@@ -20,6 +20,7 @@
#include <config_features.h>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <dbmgr.hxx>
#include <chpfld.hxx>
#include <dbfld.hxx>
@@ -223,7 +224,7 @@ SwFieldType* DocumentFieldsManager::InsertFldType(const SwFieldType &rFldTyp)
}
mpFldTypes->insert( mpFldTypes->begin() + nSize, pNew );
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return (*mpFldTypes)[ nSize ];
}
@@ -325,7 +326,7 @@ void DocumentFieldsManager::RemoveFldType(sal_uInt16 nFld)
delete pTmp;
}
mpFldTypes->erase( mpFldTypes->begin() + nFld );
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
}
@@ -386,7 +387,7 @@ void DocumentFieldsManager::UpdateFlds( SfxPoolItem *pNewHt, bool bCloseDB )
#endif
}
// Only evaluate on full update
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
void DocumentFieldsManager::InsDeletedFldType( SwFieldType& rFldTyp )
@@ -1171,7 +1172,7 @@ void DocumentFieldsManager::UpdateUsrFlds()
if( pCalc )
{
delete pCalc;
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
}
@@ -1263,7 +1264,7 @@ bool DocumentFieldsManager::SetFieldsDirty( bool b, const SwNode* pChk, sal_uLon
void DocumentFieldsManager::SetFixFields( bool bOnlyTimeDate, const DateTime* pNewDateTime )
{
- bool bIsModified = m_rSwdoc.IsModified();
+ bool bIsModified = m_rSwdoc.getIDocumentState().IsModified();
sal_Int32 nDate;
sal_Int64 nTime;
@@ -1365,7 +1366,7 @@ void DocumentFieldsManager::SetFixFields( bool bOnlyTimeDate, const DateTime* pN
}
if( !bIsModified )
- m_rSwdoc.ResetModified();
+ m_rSwdoc.getIDocumentState().ResetModified();
}
diff --git a/sw/source/core/doc/DocumentLinksAdministrationManager.cxx b/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
index 892727b..4cd8725 100644
--- a/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
+++ b/sw/source/core/doc/DocumentLinksAdministrationManager.cxx
@@ -22,6 +22,7 @@
#include <doc.hxx>
#include <DocumentSettingManager.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <sfx2/objsh.hxx>
#include <sfx2/linkmgr.hxx>
#include <sfx2/docfile.hxx>
@@ -416,7 +417,7 @@ bool DocumentLinksAdministrationManager::EmbedAllLinks()
}
m_rSwdoc.GetIDocumentUndoRedo().DelAllUndoObj();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
return bRet;
}
diff --git a/sw/source/core/doc/DocumentRedlineManager.cxx b/sw/source/core/doc/DocumentRedlineManager.cxx
index 983df66..7ae86b3 100644
--- a/sw/source/core/doc/DocumentRedlineManager.cxx
+++ b/sw/source/core/doc/DocumentRedlineManager.cxx
@@ -20,6 +20,7 @@
#include <DocumentRedlineManager.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <redline.hxx>
#include <UndoRedline.hxx>
#include <docary.hxx>
@@ -635,7 +636,7 @@ void DocumentRedlineManager::SetRedlineMode( RedlineMode_t eMode )
m_rSwdoc.SetInXMLImport( bSaveInXMLImportFlag );
}
meRedlineMode = eMode;
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
// #TODO - add 'SwExtraRedlineTbl' also ?
@@ -1980,7 +1981,7 @@ bool DocumentRedlineManager::DeleteRedline( const SwPaM& rRange, bool bSaveInUnd
}
if( bChg )
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return bChg;
@@ -2141,7 +2142,7 @@ bool DocumentRedlineManager::AcceptRedline( sal_uInt16 nPos, bool bCallDelete )
if( bRet )
{
CompressRedlines();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
if (m_rSwdoc.GetIDocumentUndoRedo().DoesUndo())
@@ -2178,7 +2179,7 @@ bool DocumentRedlineManager::AcceptRedline( const SwPaM& rPam, bool bCallDelete
if( nRet > 0 )
{
CompressRedlines();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
if (m_rSwdoc.GetIDocumentUndoRedo().DoesUndo())
{
@@ -2255,7 +2256,7 @@ bool DocumentRedlineManager::RejectRedline( sal_uInt16 nPos, bool bCallDelete )
if( bRet )
{
CompressRedlines();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
if (m_rSwdoc.GetIDocumentUndoRedo().DoesUndo())
@@ -2292,7 +2293,7 @@ bool DocumentRedlineManager::RejectRedline( const SwPaM& rPam, bool bCallDelete
if( nRet > 0 )
{
CompressRedlines();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
if (m_rSwdoc.GetIDocumentUndoRedo().DoesUndo())
{
@@ -2578,7 +2579,7 @@ bool DocumentRedlineManager::SetRedlineComment( const SwPaM& rPaM, const OUStrin
}
}
if( bRet )
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
return bRet;
@@ -2619,7 +2620,7 @@ void DocumentRedlineManager::SetRedlinePassword(
/*[in]*/const uno::Sequence <sal_Int8>& rNewPassword)
{
maRedlinePasswd = rNewPassword;
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
/// Set comment text for the Redline, which is inserted later on via
diff --git a/sw/source/core/doc/DocumentSettingManager.cxx b/sw/source/core/doc/DocumentSettingManager.cxx
index 6886d86..79cffb6 100644
--- a/sw/source/core/doc/DocumentSettingManager.cxx
+++ b/sw/source/core/doc/DocumentSettingManager.cxx
@@ -20,6 +20,7 @@
#include <DocumentSettingManager.hxx>
#include <doc.hxx>
#include <IDocumentDrawModelAccess.hxx>
+#include <IDocumentState.hxx>
#include <comphelper/processfactory.hxx>
#include <editeng/forbiddencharacterstable.hxx>
#include <svx/svdmodel.hxx>
@@ -406,7 +407,7 @@ void sw::DocumentSettingManager::setForbiddenCharacters(/*[in]*/ sal_uInt16 nLan
std::for_each( aAllLayouts.begin(), aAllLayouts.end(), std::bind2nd(std::mem_fun(&SwRootFrm::InvalidateAllCntnt), INV_SIZE));
pTmpRoot->EndAllAction();
}
- m_rDoc.SetModified();
+ m_rDoc.getIDocumentState().SetModified();
}
rtl::Reference<SvxForbiddenCharactersTable>& sw::DocumentSettingManager::getForbiddenCharacterTable()
@@ -476,7 +477,7 @@ void sw::DocumentSettingManager::setCharacterCompressionType( /*[in]*/SwCharComp
std::for_each( aAllLayouts.begin(), aAllLayouts.end(), std::bind2nd(std::mem_fun(&SwRootFrm::InvalidateAllCntnt), INV_SIZE));
pTmpRoot->EndAllAction();
}
- m_rDoc.SetModified();
+ m_rDoc.getIDocumentState().SetModified();
}
}
diff --git a/sw/source/core/doc/DocumentStateManager.cxx b/sw/source/core/doc/DocumentStateManager.cxx
new file mode 100644
index 0000000..9b65443
--- /dev/null
+++ b/sw/source/core/doc/DocumentStateManager.cxx
@@ -0,0 +1,133 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#include <DocumentStateManager.hxx>
+#include <doc.hxx>
+#include <DocumentStatisticsManager.hxx>
+#include <IDocumentUndoRedo.hxx>
+#include <docstat.hxx>
+#include <acorrect.hxx>
+
+namespace sw
+{
+
+DocumentStateManager::DocumentStateManager( SwDoc& i_rSwdoc ) :
+ m_rSwdoc( i_rSwdoc ),
+ mbModified(false),
+ mbLoaded(false),
+ mbUpdateExpFld(false),
+ mbNewDoc(false),
+ mbPageNums(false),
+ mbInCallModified(false)
+{
+}
+
+void DocumentStateManager::SetModified()
+{
+ m_rSwdoc.ClearSwLayouterEntries();
+ // give the old and new modified state to the link
+ // Bit 0: -> old state
+ // Bit 1: -> new state
+ sal_IntPtr nCall = mbModified ? 3 : 2;
+ mbModified = true;
+ m_rSwdoc.GetDocumentStatisticsManager().GetDocStat().bModified = true;
+ if( m_rSwdoc.GetOle2Link().IsSet() )
+ {
+ mbInCallModified = true;
+ m_rSwdoc.GetOle2Link().Call( (void*)nCall );
+ mbInCallModified = false;
+ }
+
+ if( m_rSwdoc.GetAutoCorrExceptWord() && !m_rSwdoc.GetAutoCorrExceptWord()->IsDeleted() )
+ m_rSwdoc.DeleteAutoCorrExceptWord();
+}
+
+void DocumentStateManager::ResetModified()
+{
+ // give the old and new modified state to the link
+ // Bit 0: -> old state
+ // Bit 1: -> new state
+ sal_IntPtr nCall = mbModified ? 1 : 0;
+ mbModified = false;
+ m_rSwdoc.GetIDocumentUndoRedo().SetUndoNoModifiedPosition();
+ if( nCall && m_rSwdoc.GetOle2Link().IsSet() )
+ {
+ mbInCallModified = true;
+ m_rSwdoc.GetOle2Link().Call( (void*)nCall );
+ mbInCallModified = false;
+ }
+}
+
+bool DocumentStateManager::IsModified() const
+{
+ return mbModified;
+}
+
+bool DocumentStateManager::IsInCallModified() const
+{
+ return mbInCallModified;
+}
+
+bool DocumentStateManager::IsLoaded() const
+{
+ return mbLoaded;
+}
+
+bool DocumentStateManager::IsUpdateExpFld() const
+{
+ return mbUpdateExpFld;
+}
+
+bool DocumentStateManager::IsNewDoc() const
+{
+ return mbNewDoc;
+}
+
+bool DocumentStateManager::IsPageNums() const
+{
+ return mbPageNums;
+}
+
+void DocumentStateManager::SetPageNums(bool b)
+{
+ mbPageNums = b;
+}
+
+void DocumentStateManager::SetNewDoc(bool b)
+{
+ mbNewDoc = b;
+}
+
+void DocumentStateManager::SetUpdateExpFldStat(bool b)
+{
+ mbUpdateExpFld = b;
+}
+
+void DocumentStateManager::SetLoaded(bool b)
+{
+ mbLoaded = b;
+}
+
+}
+
+
+
+
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/doc/DocumentStatisticsManager.cxx b/sw/source/core/doc/DocumentStatisticsManager.cxx
index e2571a8..0434eeb 100644
--- a/sw/source/core/doc/DocumentStatisticsManager.cxx
+++ b/sw/source/core/doc/DocumentStatisticsManager.cxx
@@ -21,6 +21,7 @@
#include <fldbas.hxx>
#include <docsh.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <view.hxx>
#include <ndtxt.hxx>
#include <switerator.hxx>
@@ -82,7 +83,7 @@ void DocumentStatisticsManager::DocInfoChgd( )
{
m_rSwdoc.getIDocumentFieldsAccess().GetSysFldType( RES_DOCINFOFLD )->UpdateFlds();
m_rSwdoc.getIDocumentFieldsAccess().GetSysFldType( RES_TEMPLNAMEFLD )->UpdateFlds();
- m_rSwdoc.SetModified();
+ m_rSwdoc.getIDocumentState().SetModified();
}
const SwDocStat& DocumentStatisticsManager::GetDocStat() const
@@ -202,7 +203,7 @@ bool DocumentStatisticsManager::IncrementalDocStatCalculate(long nChars, bool bF
const uno::Reference<document::XDocumentProperties> xDocProps(
xDPS->getDocumentProperties());
// #i96786#: do not set modified flag when updating statistics
- const bool bDocWasModified( m_rSwdoc.IsModified() );
+ const bool bDocWasModified( m_rSwdoc.getIDocumentState().IsModified() );
const ModifyBlocker_Impl b(pObjShell);
// rhbz#1081176: don't jump to cursor pos because of (temporary)
// activation of modified flag triggering move to input position
@@ -210,7 +211,7 @@ bool DocumentStatisticsManager::IncrementalDocStatCalculate(long nChars, bool bF
xDocProps->setDocumentStatistics(aStat);
if (!bDocWasModified)
{
- m_rSwdoc.ResetModified();
+ m_rSwdoc.getIDocumentState().ResetModified();
}
}
diff --git a/sw/source/core/doc/doc.cxx b/sw/source/core/doc/doc.cxx
index aea02b0..0ce75a9 100644
--- a/sw/source/core/doc/doc.cxx
+++ b/sw/source/core/doc/doc.cxx
@@ -31,6 +31,7 @@
#include <DocumentRedlineManager.hxx>
#include <DocumentFieldsManager.hxx>
#include <DocumentStatisticsManager.hxx>
+#include <DocumentStateManager.hxx>
#include <UndoManager.hxx>
#include <hintids.hxx>
#include <tools/shl.hxx>
@@ -428,6 +429,27 @@ IDocumentStatistics & SwDoc::getIDocumentStatistics()
return *m_pDocumentStatisticsManager;
}
+//IDocumentState
+IDocumentState const & SwDoc::getIDocumentState() const
+{
+ return *m_pDocumentStateManager;
+}
+
+IDocumentState & SwDoc::getIDocumentState()
+{
+ return *m_pDocumentStateManager;
+}
+
+::sw::DocumentStateManager const & SwDoc::GetDocumentStateManager() const
+{
+ return *m_pDocumentStateManager;
+}
+
+::sw::DocumentStateManager & SwDoc::GetDocumentStateManager()
+{
+ return *m_pDocumentStateManager;
+}
+
/* Implementations the next Interface here */
/*
@@ -439,7 +461,7 @@ void SwDoc::ChgDBData(const SwDBData& rNewData)
if( rNewData != maDBData )
{
maDBData = rNewData;
- SetModified();
+ getIDocumentState().SetModified();
}
getIDocumentFieldsAccess().GetSysFldType(RES_DBNAMEFLD)->UpdateFlds();
}
@@ -1025,51 +1047,6 @@ sal_uInt16 SwDoc::GetRefMarks( std::vector<OUString>* pNames ) const
return nCount;
}
-bool SwDoc::IsLoaded() const
-{
- return mbLoaded;
-}
-
-bool SwDoc::IsUpdateExpFld() const
-{
- return mbUpdateExpFld;
-}
-
-bool SwDoc::IsNewDoc() const
-{
- return mbNewDoc;
-}
-
-bool SwDoc::IsPageNums() const
-{
- return mbPageNums;
-}
-
-void SwDoc::SetPageNums(bool b)
-{
- mbPageNums = b;
-}
-
-void SwDoc::SetNewDoc(bool b)
-{
- mbNewDoc = b;
-}
-
-void SwDoc::SetUpdateExpFldStat(bool b)
-{
- mbUpdateExpFld = b;
-}
-
-void SwDoc::SetLoaded(bool b)
-{
- mbLoaded = b;
-}
-
-bool SwDoc::IsModified() const
-{
- return mbModified;
-}
-
//Load document from fdo#42534 under valgrind, drag the scrollbar down so full
//document layout is triggered. Close document before layout has completed, and
//SwAnchoredObject objects deleted by the deletion of layout remain referenced
@@ -1082,42 +1059,6 @@ void SwDoc::ClearSwLayouterEntries()
SwLayouter::ClearMoveBwdLayoutInfo( *this );
}
-void SwDoc::SetModified()
-{
- ClearSwLayouterEntries();
- // give the old and new modified state to the link
- // Bit 0: -> old state
- // Bit 1: -> new state
- sal_IntPtr nCall = mbModified ? 3 : 2;
- mbModified = true;
- GetDocumentStatisticsManager().GetDocStat().bModified = true;
- if( maOle2Link.IsSet() )
- {
- mbInCallModified = true;
- maOle2Link.Call( (void*)nCall );
- mbInCallModified = false;
- }
-
- if( mpACEWord && !mpACEWord->IsDeleted() )
- delete mpACEWord, mpACEWord = 0;
-}
-
-void SwDoc::ResetModified()
-{
- // give the old and new modified state to the link
- // Bit 0: -> old state
- // Bit 1: -> new state
- sal_IntPtr nCall = mbModified ? 1 : 0;
- mbModified = false;
- GetIDocumentUndoRedo().SetUndoNoModifiedPosition();
- if( nCall && maOle2Link.IsSet() )
- {
- mbInCallModified = true;
- maOle2Link.Call( (void*)nCall );
- mbInCallModified = false;
- }
-}
-
static bool lcl_SpellAndGrammarAgain( const SwNodePtr& rpNd, void* pArgs )
{
SwTxtNode *pTxtNode = (SwTxtNode*)rpNd->GetTxtNode();
@@ -1458,7 +1399,7 @@ bool SwDoc::RemoveInvisibleContent()
}
if( bRet )
- SetModified();
+ getIDocumentState().SetModified();
GetIDocumentUndoRedo().EndUndo( UNDO_UI_DELETE_INVISIBLECNTNT, NULL );
return bRet;
}
@@ -1592,7 +1533,7 @@ bool SwDoc::ConvertFieldsToText()
}
if( bRet )
- SetModified();
+ getIDocumentState().SetModified();
GetIDocumentUndoRedo().EndUndo( UNDO_UI_REPLACE, NULL );
getIDocumentFieldsAccess().UnlockExpFlds();
return bRet;
diff --git a/sw/source/core/doc/docchart.cxx b/sw/source/core/doc/docchart.cxx
index 4e294de..9d3d3db 100644
--- a/sw/source/core/doc/docchart.cxx
+++ b/sw/source/core/doc/docchart.cxx
@@ -22,6 +22,7 @@
#include <vcl/window.hxx>
#include <doc.hxx>
#include <IDocumentChartDataProviderAccess.hxx>
+#include <IDocumentState.hxx>
#include <docary.hxx>
#include <ndindex.hxx>
#include <swtable.hxx>
@@ -187,7 +188,7 @@ void SwDoc::SetTableName( SwFrmFmt& rTblFmt, const OUString &rNewName )
}
aIdx.Assign( *pStNd->EndOfSectionNode(), + 1 );
}
- SetModified();
+ getIDocumentState().SetModified();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/doc/doccomp.cxx b/sw/source/core/doc/doccomp.cxx
index a03c3be..dcbfc1c 100644
--- a/sw/source/core/doc/doccomp.cxx
+++ b/sw/source/core/doc/doccomp.cxx
@@ -29,6 +29,7 @@
#include <IDocumentUndoRedo.hxx>
#include <DocumentContentOperationsManager.hxx>
#include <IDocumentRedlineAccess.hxx>
+#include <IDocumentState.hxx>
#include <docary.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
@@ -1548,7 +1549,7 @@ void SwCompareData::ShowDelete(
SwNodeIndex aSavePos( aInsPos, -1 );
((SwCompareData&)rData).rDoc.GetDocumentContentOperationsManager().CopyWithFlyInFly( aRg, 0, aInsPos );
- rDoc.SetModified();
+ rDoc.getIDocumentState().SetModified();
++aSavePos;
// #i65201#: These SwPaMs are calculated when the (old) delete-redlines are hidden,
@@ -1802,9 +1803,9 @@ long SwDoc::CompareDoc( const SwDoc& rDoc )
}
GetIDocumentUndoRedo().StartUndo(UNDO_EMPTY, NULL);
- bool bDocWasModified = IsModified();
+ bool bDocWasModified = getIDocumentState().IsModified();
SwDoc& rSrcDoc = (SwDoc&)rDoc;
- bool bSrcModified = rSrcDoc.IsModified();
+ bool bSrcModified = rSrcDoc.getIDocumentState().IsModified();
RedlineMode_t eSrcRedlMode = rSrcDoc.getIDocumentRedlineAccess().GetRedlineMode();
rSrcDoc.getIDocumentRedlineAccess().SetRedlineMode( nsRedlineMode_t::REDLINE_SHOW_INSERT );
@@ -1823,14 +1824,14 @@ long SwDoc::CompareDoc( const SwDoc& rDoc )
nsRedlineMode_t::REDLINE_SHOW_INSERT | nsRedlineMode_t::REDLINE_SHOW_DELETE));
aD1.SetRedlinesToDoc( !bDocWasModified );
- SetModified();
+ getIDocumentState().SetModified();
}
rSrcDoc.getIDocumentRedlineAccess().SetRedlineMode( eSrcRedlMode );
getIDocumentRedlineAccess().SetRedlineMode((RedlineMode_t)(nsRedlineMode_t::REDLINE_SHOW_INSERT | nsRedlineMode_t::REDLINE_SHOW_DELETE));
if( !bSrcModified )
- rSrcDoc.ResetModified();
+ rSrcDoc.getIDocumentState().ResetModified();
GetIDocumentUndoRedo().EndUndo(UNDO_EMPTY, NULL);
@@ -2022,7 +2023,7 @@ long SwDoc::MergeDoc( const SwDoc& rDoc )
GetIDocumentUndoRedo().StartUndo(UNDO_EMPTY, NULL);
SwDoc& rSrcDoc = (SwDoc&)rDoc;
- bool bSrcModified = rSrcDoc.IsModified();
+ bool bSrcModified = rSrcDoc.getIDocumentState().IsModified();
RedlineMode_t eSrcRedlMode = rSrcDoc.getIDocumentRedlineAccess().GetRedlineMode();
rSrcDoc.getIDocumentRedlineAccess().SetRedlineMode( nsRedlineMode_t::REDLINE_SHOW_DELETE );
@@ -2086,7 +2087,7 @@ long SwDoc::MergeDoc( const SwDoc& rDoc )
rSrcDoc.getIDocumentRedlineAccess().SetRedlineMode( eSrcRedlMode );
if( !bSrcModified )
- rSrcDoc.ResetModified();
+ rSrcDoc.getIDocumentState().ResetModified();
getIDocumentRedlineAccess().SetRedlineMode((RedlineMode_t)(nsRedlineMode_t::REDLINE_SHOW_INSERT | nsRedlineMode_t::REDLINE_SHOW_DELETE));
diff --git a/sw/source/core/doc/docdesc.cxx b/sw/source/core/doc/docdesc.cxx
index e10e9aa..7ae3f56 100644
--- a/sw/source/core/doc/docdesc.cxx
+++ b/sw/source/core/doc/docdesc.cxx
@@ -36,6 +36,7 @@
#include <IDocumentUndoRedo.hxx>
#include <IDocumentFieldsAccess.hxx>
#include <DocumentContentOperationsManager.hxx>
+#include <IDocumentState.hxx>
#include <docary.hxx>
#include <rootfrm.hxx>
#include <frmtool.hxx>
@@ -510,7 +511,7 @@ void SwDoc::ChgPageDesc( sal_uInt16 i, const SwPageDesc &rChged )
pDesc->GetFirstLeft().ModifyBroadcast( &aInfo, 0, TYPE(SwFrm) );
}
}
- SetModified();
+ getIDocumentState().SetModified();
// #i46909# no undo if header or footer changed
if( bHeaderFooterChanged )
@@ -624,7 +625,7 @@ void SwDoc::DelPageDesc( sal_uInt16 i, bool bBroadcast )
maPageDescs.erase( maPageDescs.begin() + i );
delete pDel;
- SetModified();
+ getIDocumentState().SetModified();
}
SwPageDesc* SwDoc::MakePageDesc(const OUString &rName, const SwPageDesc *pCpy,
@@ -668,7 +669,7 @@ SwPageDesc* SwDoc::MakePageDesc(const OUString &rName, const SwPageDesc *pCpy,
GetIDocumentUndoRedo().AppendUndo(new SwUndoPageDescCreate(pNew, this));
}
- SetModified();
+ getIDocumentState().SetModified();
return pNew;
}
diff --git a/sw/source/core/doc/docdraw.cxx b/sw/source/core/doc/docdraw.cxx
index f7dd645..f276ed6 100644
--- a/sw/source/core/doc/docdraw.cxx
+++ b/sw/source/core/doc/docdraw.cxx
@@ -42,6 +42,7 @@
#include <DocumentSettingManager.hxx>
#include <IDocumentDeviceAccess.hxx>
#include <IDocumentDrawModelAccess.hxx>
+#include <IDocumentState.hxx>
#include <docsh.hxx>
#include <rootfrm.hxx>
#include <poolfmt.hxx>
@@ -467,7 +468,7 @@ bool SwDoc::DeleteSelection( SwDrawView& rDrawView )
}
bCallBase = true;
}
- SetModified();
+ getIDocumentState().SetModified();
GetIDocumentUndoRedo().EndUndo(UNDO_EMPTY, NULL);
}
diff --git a/sw/source/core/doc/docedt.cxx b/sw/source/core/doc/docedt.cxx
index 8520791..7de0dce 100644
--- a/sw/source/core/doc/docedt.cxx
+++ b/sw/source/core/doc/docedt.cxx
@@ -23,6 +23,7 @@
#include <acorrect.hxx>
#include <UndoManager.hxx>
#include <IDocumentRedlineAccess.hxx>
+#include <IDocumentState.hxx>
#include <docsh.hxx>
#include <docary.hxx>
#include <doctxm.hxx>
@@ -273,7 +274,7 @@ void _SaveRedlEndPosForRestore::_Restore()
void SwDoc::SetModified(SwPaM &rPaM)
{
SwDataChanged aTmp( rPaM );
- SetModified();
+ getIDocumentState().SetModified();
}
/// Convert list of ranges of whichIds to a corresponding list of whichIds
diff --git a/sw/source/core/doc/docfld.cxx b/sw/source/core/doc/docfld.cxx
index 00562e0..44fa72b 100644
--- a/sw/source/core/doc/docfld.cxx
+++ b/sw/source/core/doc/docfld.cxx
@@ -31,6 +31,7 @@
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <cntfrm.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
@@ -687,7 +688,7 @@ void SwDoc::ChangeDBFields( const std::vector<OUString>& rOldNames,
if (bExpand)
pTxtFld->ExpandTxtFld( true );
}
- SetModified();
+ getIDocumentState().SetModified();
#endif
}
diff --git a/sw/source/core/doc/docfly.cxx b/sw/source/core/doc/docfly.cxx
index f2b8466..2c7ee3f 100644
--- a/sw/source/core/doc/docfly.cxx
+++ b/sw/source/core/doc/docfly.cxx
@@ -32,6 +32,7 @@
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
#include <IDocumentDrawModelAccess.hxx>
+#include <IDocumentState.hxx>
#include <ndindex.hxx>
#include <docary.hxx>
#include <drawdoc.hxx>
@@ -525,7 +526,7 @@ bool SwDoc::SetFlyFrmAttr( SwFrmFmt& rFlyFmt, SfxItemSet& rSet )
}
}
- SetModified();
+ getIDocumentState().SetModified();
SwTextBoxHelper::syncFlyFrmAttr(rFlyFmt, rSet);
@@ -553,7 +554,7 @@ void SwDoc::SetFlyFrmTitle( SwFlyFrmFmt& rFlyFrmFmt,
rFlyFrmFmt.SetObjTitle( sNewTitle, true );
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::SetFlyFrmDescription( SwFlyFrmFmt& rFlyFrmFmt,
@@ -576,7 +577,7 @@ void SwDoc::SetFlyFrmDescription( SwFlyFrmFmt& rFlyFrmFmt,
rFlyFrmFmt.SetObjDescription( sNewDescription, true );
- SetModified();
+ getIDocumentState().SetModified();
}
bool SwDoc::SetFrmFmtToFly( SwFrmFmt& rFmt, SwFrmFmt& rNewFmt,
@@ -663,7 +664,7 @@ bool SwDoc::SetFrmFmtToFly( SwFrmFmt& rFmt, SwFrmFmt& rNewFmt,
if( pUndo )
pUndo->DeRegisterFromFormat( rFmt );
- SetModified();
+ getIDocumentState().SetModified();
return bChgAnchor;
}
@@ -917,7 +918,7 @@ bool SwDoc::ChgAnchor( const SdrMarkList& _rMrkList,
}
GetIDocumentUndoRedo().EndUndo( UNDO_END, NULL );
- SetModified();
+ getIDocumentState().SetModified();
return bUnmark;
}
diff --git a/sw/source/core/doc/docfmt.cxx b/sw/source/core/doc/docfmt.cxx
index b1001b8..8140e63 100644
--- a/sw/source/core/doc/docfmt.cxx
+++ b/sw/source/core/doc/docfmt.cxx
@@ -39,6 +39,7 @@
#include <IDocumentUndoRedo.hxx>
#include <DocumentContentOperationsManager.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <rootfrm.hxx>
#include <pagefrm.hxx>
#include <hints.hxx>
@@ -224,7 +225,7 @@ void SwDoc::RstTxtAttrs(const SwPaM &rRg, bool bInclRefToxMark )
aPara.bInclRefToxMark = bInclRefToxMark;
GetNodes().ForEach( pStt->nNode.GetIndex(), pEnd->nNode.GetIndex()+1,
sw::DocumentContentOperationsManager::lcl_RstTxtAttr, &aPara );
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::ResetAttrs( const SwPaM &rRg,
@@ -392,7 +393,7 @@ void SwDoc::ResetAttrs( const SwPaM &rRg,
if( pPam != &rRg )
delete pPam;
- SetModified();
+ getIDocumentState().SetModified();
}
/// Set the rsid of the next nLen symbols of rRg to the current session number
@@ -466,7 +467,7 @@ void SwDoc::SetAttr( const SfxItemSet& rSet, SwFmt& rFmt )
{
rFmt.SetFmtAttr( rSet );
}
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::ResetAttrAtFormat( const sal_uInt16 nWhichId,
@@ -485,7 +486,7 @@ void SwDoc::ResetAttrAtFormat( const sal_uInt16 nWhichId,
GetIDocumentUndoRedo().AppendUndo( pUndo );
}
- SetModified();
+ getIDocumentState().SetModified();
}
else
delete pUndo;
@@ -640,7 +641,7 @@ void SwDoc::SetDefault( const SfxItemSet& rSet )
while( 0 != ( pDep = (SwClient*)aCallMod.GetDepends()) )
aCallMod.Remove( pDep );
- SetModified();
+ getIDocumentState().SetModified();
}
/// Get the default attribute in this document
@@ -669,7 +670,7 @@ void SwDoc::DelCharFmt(sal_uInt16 nFmt, bool bBroadcast)
delete (*mpCharFmtTbl)[nFmt];
mpCharFmtTbl->erase(mpCharFmtTbl->begin() + nFmt);
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::DelCharFmt( SwCharFmt *pFmt, bool bBroadcast )
@@ -736,7 +737,7 @@ SwFlyFrmFmt *SwDoc::MakeFlyFrmFmt( const OUString &rFmtName,
{
SwFlyFrmFmt *pFmt = new SwFlyFrmFmt( GetAttrPool(), rFmtName, pDerivedFrom );
GetSpzFrmFmts()->push_back(pFmt);
- SetModified();
+ getIDocumentState().SetModified();
return pFmt;
}
@@ -745,7 +746,7 @@ SwDrawFrmFmt *SwDoc::MakeDrawFrmFmt( const OUString &rFmtName,
{
SwDrawFrmFmt *pFmt = new SwDrawFrmFmt( GetAttrPool(), rFmtName, pDerivedFrom);
GetSpzFrmFmts()->push_back(pFmt);
- SetModified();
+ getIDocumentState().SetModified();
return pFmt;
}
@@ -786,7 +787,7 @@ SwTableFmt* SwDoc::MakeTblFrmFmt( const OUString &rFmtName,
{
SwTableFmt* pFmt = new SwTableFmt( GetAttrPool(), rFmtName, pDerivedFrom );
mpTblFrmFmtTbl->push_back( pFmt );
- SetModified();
+ getIDocumentState().SetModified();
return pFmt;
}
@@ -799,7 +800,7 @@ SwFrmFmt *SwDoc::MakeFrmFmt(const OUString &rFmtName,
pFmt->SetAuto(bAuto);
mpFrmFmtTbl->push_back( pFmt );
- SetModified();
+ getIDocumentState().SetModified();
if (GetIDocumentUndoRedo().DoesUndo())
{
@@ -835,7 +836,7 @@ SwCharFmt *SwDoc::MakeCharFmt( const OUString &rFmtName,
SwCharFmt *pFmt = new SwCharFmt( GetAttrPool(), rFmtName, pDerivedFrom );
mpCharFmtTbl->push_back( pFmt );
pFmt->SetAuto( false );
- SetModified();
+ getIDocumentState().SetModified();
if (GetIDocumentUndoRedo().DoesUndo())
{
@@ -872,7 +873,7 @@ SwTxtFmtColl* SwDoc::MakeTxtFmtColl( const OUString &rFmtName,
pDerivedFrom );
mpTxtFmtCollTbl->push_back(pFmtColl);
pFmtColl->SetAuto( false );
- SetModified();
+ getIDocumentState().SetModified();
if (GetIDocumentUndoRedo().DoesUndo())
{
@@ -906,7 +907,7 @@ SwConditionTxtFmtColl* SwDoc::MakeCondTxtFmtColl( const OUString &rFmtName,
rFmtName, pDerivedFrom );
mpTxtFmtCollTbl->push_back(pFmtColl);
pFmtColl->SetAuto( false );
- SetModified();
+ getIDocumentState().SetModified();
if (GetIDocumentUndoRedo().DoesUndo())
{
@@ -931,7 +932,7 @@ SwGrfFmtColl* SwDoc::MakeGrfFmtColl( const OUString &rFmtName,
pDerivedFrom );
mpGrfFmtCollTbl->push_back( pFmtColl );
pFmtColl->SetAuto( false );
- SetModified();
+ getIDocumentState().SetModified();
return pFmtColl;
}
@@ -969,7 +970,7 @@ void SwDoc::DelTxtFmtColl(sal_uInt16 nFmtColl, bool bBroadcast)
for( SwTxtFmtColls::const_iterator it = mpTxtFmtCollTbl->begin() + 1; it != mpTxtFmtCollTbl->end(); ++it )
SetTxtFmtCollNext( *it, pDel );
delete pDel;
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::DelTxtFmtColl( SwTxtFmtColl *pColl, bool bBroadcast )
@@ -1080,7 +1081,7 @@ bool SwDoc::SetTxtFmtColl(const SwPaM &rRg,
if (bRet)
{
- SetModified();
+ getIDocumentState().SetModified();
}
return bRet;
@@ -1157,7 +1158,7 @@ SwTxtFmtColl* SwDoc::CopyTxtColl( const SwTxtFmtColl& rColl )
pParent);
mpTxtFmtCollTbl->push_back( pNewColl );
pNewColl->SetAuto( false );
- SetModified();
+ getIDocumentState().SetModified();
// copy the conditions
((SwConditionTxtFmtColl*)pNewColl)->SetConditions(
@@ -1569,7 +1570,7 @@ void SwDoc::ReplaceStyles( const SwDoc& rSource, bool bIncludePageStyles )
GetIDocumentUndoRedo().DelAllUndoObj();
}
- SetModified();
+ getIDocumentState().SetModified();
}
SwFmt* SwDoc::FindFmtByName( const SwFmtsBase& rFmtArr,
@@ -1647,7 +1648,7 @@ void SwDoc::MoveLeftMargin( const SwPaM& rPam, bool bRight, bool bModulus )
}
++aIdx;
}
- SetModified();
+ getIDocumentState().SetModified();
}
bool SwDoc::DontExpandFmt( const SwPosition& rPos, bool bFlag )
@@ -1669,7 +1670,7 @@ SwTableBoxFmt* SwDoc::MakeTableBoxFmt()
{
SwTableBoxFmt* pFmt = new SwTableBoxFmt( GetAttrPool(), aEmptyOUStr,
mpDfltFrmFmt );
- SetModified();
+ getIDocumentState().SetModified();
return pFmt;
}
@@ -1677,7 +1678,7 @@ SwTableLineFmt* SwDoc::MakeTableLineFmt()
{
SwTableLineFmt* pFmt = new SwTableLineFmt( GetAttrPool(), aEmptyOUStr,
mpDfltFrmFmt );
- SetModified();
+ getIDocumentState().SetModified();
return pFmt;
}
diff --git a/sw/source/core/doc/docftn.cxx b/sw/source/core/doc/docftn.cxx
index eb7dad4..5052714 100644
--- a/sw/source/core/doc/docftn.cxx
+++ b/sw/source/core/doc/docftn.cxx
@@ -30,6 +30,7 @@
#include <doc.hxx>
#include <IDocumentFieldsAccess.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <ndtxt.hxx>
#include <poolfmt.hxx>
#include <ftninfo.hxx>
@@ -311,7 +312,7 @@ void SwDoc::SetFtnInfo(const SwFtnInfo& rInfo)
{
getIDocumentFieldsAccess().UpdateRefFlds(NULL);
}
- SetModified();
+ getIDocumentState().SetModified();
}
}
@@ -379,7 +380,7 @@ void SwDoc::SetEndNoteInfo(const SwEndNoteInfo& rInfo)
{
getIDocumentFieldsAccess().UpdateRefFlds(NULL);
}
- SetModified();
+ getIDocumentState().SetModified();
}
}
@@ -488,7 +489,7 @@ bool SwDoc::SetCurFtn( const SwPaM& rPam, const OUString& rNumStr,
std::set<SwRootFrm*> aAllLayouts = GetAllLayouts();
std::for_each( aAllLayouts.begin(), aAllLayouts.end(),std::mem_fun(&SwRootFrm::UpdateFtnNums));
}
- SetModified();
+ getIDocumentState().SetModified();
}
else
delete pUndo;
diff --git a/sw/source/core/doc/doclay.cxx b/sw/source/core/doc/doclay.cxx
index c0a7394..70dc450 100644
--- a/sw/source/core/doc/doclay.cxx
+++ b/sw/source/core/doc/doclay.cxx
@@ -67,6 +67,7 @@
#include <IDocumentDrawModelAccess.hxx>
#include <DocumentContentOperationsManager.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <rootfrm.hxx>
#include <pagefrm.hxx>
#include <cntfrm.hxx>
@@ -119,7 +120,7 @@ static bool lcl_IsItemSet(const SwCntntNode & rNode, sal_uInt16 which)
SwFrmFmt *SwDoc::MakeLayoutFmt( RndStdIds eRequest, const SfxItemSet* pSet )
{
SwFrmFmt *pFmt = 0;
- const bool bMod = IsModified();
+ const bool bMod = getIDocumentState().IsModified();
bool bHeader = false;
switch ( eRequest )
@@ -164,7 +165,7 @@ SwFrmFmt *SwDoc::MakeLayoutFmt( RndStdIds eRequest, const SfxItemSet* pSet )
// Why set it back? Doc has changed, or not?
// In any case, wrong for the FlyFrames!
if ( !bMod )
- ResetModified();
+ getIDocumentState().ResetModified();
}
break;
@@ -330,7 +331,7 @@ void SwDoc::DelLayoutFmt( SwFrmFmt *pFmt )
DelFrmFmt( pFmt );
}
- SetModified();
+ getIDocumentState().SetModified();
}
/** Copies the stated format (pSrc) to pDest and returns pDest.
@@ -684,7 +685,7 @@ SwFlyFrmFmt* SwDoc::_MakeFlySection( const SwPosition& rAnchPos,
new SwUndoInsLayFmt( pFmt, nNodeIdx, nCntIdx ));
}
- SetModified();
+ getIDocumentState().SetModified();
return pFmt;
}
@@ -857,7 +858,7 @@ SwFlyFrmFmt* SwDoc::MakeFlyAndMove( const SwPaM& rPam, const SfxItemSet& rSet,
} while( false );
}
- SetModified();
+ getIDocumentState().SetModified();
GetIDocumentUndoRedo().EndUndo( UNDO_INSLAYFMT, NULL );
@@ -1341,7 +1342,7 @@ lcl_InsertLabel(SwDoc & rDoc, SwTxtFmtColls *const pTxtFmtCollTbl,
pUndo->SetUndoKeep();
}
}
- rDoc.SetModified();
+ rDoc.getIDocumentState().SetModified();
}
return pNewFmt;
@@ -1781,7 +1782,7 @@ void SwDoc::SetFlyName( SwFlyFrmFmt& rFmt, const OUString& rName )
sName = lcl_GetUniqueFlyName( this, nTyp );
}
rFmt.SetName( sName, true );
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::SetAllUniqueFlyNames()
diff --git a/sw/source/core/doc/docnew.cxx b/sw/source/core/doc/docnew.cxx
index 197b82f..db82e2b 100644
--- a/sw/source/core/doc/docnew.cxx
+++ b/sw/source/core/doc/docnew.cxx
@@ -100,6 +100,7 @@
#include <DocumentRedlineManager.hxx>
#include <DocumentFieldsManager.hxx>
#include <DocumentStatisticsManager.hxx>
+#include <DocumentStateManager.hxx>
#include <unochart.hxx>
#include <fldbas.hxx>
@@ -202,8 +203,9 @@ SwDoc::SwDoc()
m_pMetaFieldManager(new ::sw::MetaFieldManager()),
m_pDocumentDrawModelManager( new ::sw::DocumentDrawModelManager( *this ) ),
m_pDocumentRedlineManager( new ::sw::DocumentRedlineManager( *this ) ),
+ m_pDocumentStateManager( new ::sw::DocumentStateManager( *this ) ),
m_pUndoManager(new ::sw::UndoManager(
- boost::shared_ptr<SwNodes>(new SwNodes(this)), *m_pDocumentDrawModelManager, *m_pDocumentRedlineManager, *this)),
+ boost::shared_ptr<SwNodes>(new SwNodes(this)), *m_pDocumentDrawModelManager, *m_pDocumentRedlineManager, *m_pDocumentStateManager)),
m_pDocumentSettingManager(new ::sw::DocumentSettingManager(*this)),
m_pDocumentChartDataProviderManager( new sw::DocumentChartDataProviderManager( *this ) ),
m_pDeviceAccess( new ::sw::DocumentDeviceManager( *this ) ),
@@ -253,18 +255,12 @@ SwDoc::SwDoc()
m_pXmlIdRegistry(),
mReferenceCount(0),
mbGlossDoc(false),
- mbModified(false),
mbDtor(false),
- mbPageNums(false),
- mbLoaded(false),
- mbUpdateExpFld(false),
- mbNewDoc(false),
mbCopyIsMove(false),
mbInReading(false),
mbInXMLImport(false),
mbUpdateTOX(false),
mbInLoadAsynchron(false),
- mbInCallModified(false),
mbIsAutoFmtRedline(false),
mbOLEPrtNotifyPending(false),
mbAllOLENotify(false),
@@ -373,7 +369,7 @@ SwDoc::SwDoc()
}
mnRsidRoot = mnRsid;
- ResetModified();
+ getIDocumentState().ResetModified();
}
static void DeleteAndDestroy(SwFrmFmts& rFmts, int aStartIdx, int aEndIdx)
@@ -791,7 +787,7 @@ void SwDoc::SetPreviewPrtData( const SwPagePreviewPrtData* pNew )
}
else if( mpPgPViewPrtData )
DELETEZ( mpPgPViewPrtData );
- SetModified();
+ getIDocumentState().SetModified();
}
/** SwDoc: Reading and writing of the layout cache. */
diff --git a/sw/source/core/doc/docnum.cxx b/sw/source/core/doc/docnum.cxx
index 04e6b2d..69550f5 100644
--- a/sw/source/core/doc/docnum.cxx
+++ b/sw/source/core/doc/docnum.cxx
@@ -28,6 +28,7 @@
#include <IDocumentListsAccess.hxx>
#include <DocumentRedlineManager.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
#include <doctxm.hxx>
@@ -143,7 +144,7 @@ void SwDoc::SetOutlineNumRule( const SwNumRule& rRule )
getIDocumentFieldsAccess().UpdateExpFlds(NULL, true);
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::PropagateOutlineRule()
@@ -408,7 +409,7 @@ bool SwDoc::OutlineUpDown( const SwPaM& rPam, short nOffset )
}
ChkCondColls();
- SetModified();
+ getIDocumentState().SetModified();
return true;
}
@@ -943,7 +944,7 @@ void SwDoc::SetNumRule( const SwPaM& rPam,
GetIDocumentUndoRedo().EndUndo( UNDO_INSNUM, NULL );
}
- SetModified();
+ getIDocumentState().SetModified();
}
@@ -976,7 +977,7 @@ void SwDoc::SetNumRuleStart( const SwPosition& rPos, bool bFlag )
pTxtNd->SetListRestart(bFlag);
- SetModified();
+ getIDocumentState().SetModified();
}
}
}
@@ -997,7 +998,7 @@ void SwDoc::SetNodeNumStart( const SwPosition& rPos, sal_uInt16 nStt )
}
pTxtNd->SetAttrListRestartValue( nStt );
- SetModified();
+ getIDocumentState().SetModified();
}
}
}
@@ -1038,7 +1039,7 @@ bool SwDoc::DelNumRule( const OUString& rName, bool bBroadcast )
mpNumRuleTbl->erase( mpNumRuleTbl->begin() + nPos );
maNumRuleMap.erase(aTmpName);
- SetModified();
+ getIDocumentState().SetModified();
return true;
}
return false;
@@ -1061,7 +1062,7 @@ void SwDoc::ChgNumRuleFmts( const SwNumRule& rRule )
if( pUndo )
pUndo->SetLRSpaceEndPos();
- SetModified();
+ getIDocumentState().SetModified();
}
}
@@ -1171,7 +1172,7 @@ bool SwDoc::ReplaceNumRule( const SwPosition& rPos,
}
}
GetIDocumentUndoRedo().EndUndo( UNDO_END, NULL );
- SetModified();
+ getIDocumentState().SetModified();
bRet = true;
}
@@ -1274,7 +1275,7 @@ bool SwDoc::NoNum( const SwPaM& rPam )
{
pNd->SetCountedInList(false);
- SetModified();
+ getIDocumentState().SetModified();
}
else
bRet = false; // no Numbering or just always sal_True?
@@ -1680,7 +1681,7 @@ bool SwDoc::NumUpDown( const SwPaM& rPam, bool bDown )
}
ChkCondColls();
- SetModified();
+ getIDocumentState().SetModified();
}
}
@@ -1978,7 +1979,7 @@ bool SwDoc::MoveParagraph( const SwPaM& rPam, long nOffset, bool bIsOutlMv )
// Still NEEDS to be optimized!
getIDocumentRedlineAccess().SetRedlineMode( eOld );
GetIDocumentUndoRedo().EndUndo( UNDO_END, NULL );
- SetModified();
+ getIDocumentState().SetModified();
return true;
}
@@ -2035,7 +2036,7 @@ bool SwDoc::MoveParagraph( const SwPaM& rPam, long nOffset, bool bIsOutlMv )
}
}
- SetModified();
+ getIDocumentState().SetModified();
return true;
}
@@ -2053,7 +2054,7 @@ bool SwDoc::NumOrNoNum( const SwNodeIndex& rIdx, bool bDel )
bool bNewNum = !bDel;
pTxtNd->SetCountedInList(bNewNum);
- SetModified();
+ getIDocumentState().SetModified();
bResult = true;
diff --git a/sw/source/core/doc/docredln.cxx b/sw/source/core/doc/docredln.cxx
index f71ab49..97774c9 100644
--- a/sw/source/core/doc/docredln.cxx
+++ b/sw/source/core/doc/docredln.cxx
@@ -30,6 +30,7 @@
#include <IDocumentUndoRedo.hxx>
#include <DocumentContentOperationsManager.hxx>
#include <IDocumentRedlineAccess.hxx>
+#include <IDocumentState.hxx>
#include <docary.hxx>
#include <ndtxt.hxx>
#include <redline.hxx>
@@ -169,7 +170,7 @@ bool SwExtraRedlineTbl::DeleteAllTableRedlines( SwDoc* pDoc, const SwTable& rTab
}
if( bChg )
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
return bChg;
}
@@ -216,7 +217,7 @@ bool SwExtraRedlineTbl::DeleteTableRowRedline( SwDoc* pDoc, const SwTableLine& r
}
if( bChg )
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
return bChg;
}
@@ -263,7 +264,7 @@ bool SwExtraRedlineTbl::DeleteTableCellRedline( SwDoc* pDoc, const SwTableBox& r
}
if( bChg )
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
return bChg;
}
diff --git a/sw/source/core/doc/docsort.cxx b/sw/source/core/doc/docsort.cxx
index fa3fa25..219ae41 100644
--- a/sw/source/core/doc/docsort.cxx
+++ b/sw/source/core/doc/docsort.cxx
@@ -33,6 +33,7 @@
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <node.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
@@ -598,7 +599,7 @@ bool SwDoc::SortTbl(const SwSelBoxes& rBoxes, const SwSortOptions& rOpt)
aSortList.clear();
SwSortElement::Finit();
- SetModified();
+ getIDocumentState().SetModified();
return true;
}
diff --git a/sw/source/core/doc/doctxm.cxx b/sw/source/core/doc/doctxm.cxx
index b635e8d..b930830 100644
--- a/sw/source/core/doc/doctxm.cxx
+++ b/sw/source/core/doc/doctxm.cxx
@@ -39,6 +39,7 @@
#include <DocumentSettingManager.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <pagefrm.hxx>
#include <ndtxt.hxx>
#include <swtable.hxx>
@@ -171,7 +172,7 @@ void SwDoc::DeleteTOXMark( const SwTOXMark* pTOXMark )
if( rTxtNd.GetpSwpHints() )
rTxtNd.GetpSwpHints()->DeRegister();
}
- SetModified();
+ getIDocumentState().SetModified();
}
/// Travel between table of content Marks
@@ -675,7 +676,7 @@ bool SwDoc::SetTOXBaseName(const SwTOXBase& rTOXBase, const OUString& rName)
{
pTOX->SetTOXName(rName);
pTOX->SetSectionName(rName);
- SetModified();
+ getIDocumentState().SetModified();
}
return bRet;
}
@@ -819,7 +820,7 @@ void SwTOXBaseSection::Update(const SfxItemSet* pAttr,
}
}
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
// get current Language
SwTOXInternational aIntl( GetLanguage(),
diff --git a/sw/source/core/doc/lineinfo.cxx b/sw/source/core/doc/lineinfo.cxx
index 1d69209..d05db20 100644
--- a/sw/source/core/doc/lineinfo.cxx
+++ b/sw/source/core/doc/lineinfo.cxx
@@ -18,6 +18,7 @@
*/
#include "doc.hxx"
+#include <IDocumentState.hxx>
#include "lineinfo.hxx"
#include "charfmt.hxx"
#include "poolfmt.hxx"
@@ -41,7 +42,7 @@ void SwDoc::SetLineNumberInfo( const SwLineNumberInfo &rNew )
pTmpRoot->EndAllAction();
}
*mpLineNumberInfo = rNew;
- SetModified();
+ getIDocumentState().SetModified();
}
const SwLineNumberInfo& SwDoc::GetLineNumberInfo() const
diff --git a/sw/source/core/doc/number.cxx b/sw/source/core/doc/number.cxx
index 3645ca4..d88e844 100644
--- a/sw/source/core/doc/number.cxx
+++ b/sw/source/core/doc/number.cxx
@@ -50,6 +50,7 @@
#include <unotools/saveopt.hxx>
#include <IDocumentListsAccess.hxx>
+#include <IDocumentState.hxx>
using namespace ::com::sun::star;
@@ -336,7 +337,7 @@ sal_Int16 SwNumFmt::GetVertOrient() const
void SwNumFmt::UpdateNumNodes( SwDoc* pDoc )
{
- bool bDocIsModified = pDoc->IsModified();
+ bool bDocIsModified = pDoc->getIDocumentState().IsModified();
bool bFnd = false;
const SwNumRule* pRule;
for( sal_uInt16 n = pDoc->GetNumRuleTbl().size(); !bFnd && n; )
@@ -358,7 +359,7 @@ void SwNumFmt::UpdateNumNodes( SwDoc* pDoc )
}
if( bFnd && !bDocIsModified )
- pDoc->ResetModified();
+ pDoc->getIDocumentState().ResetModified();
}
const SwFmtVertOrient* SwNumFmt::GetGraphicOrientation() const
diff --git a/sw/source/core/doc/poolfmt.cxx b/sw/source/core/doc/poolfmt.cxx
index 55d8223..98c900e 100644
--- a/sw/source/core/doc/poolfmt.cxx
+++ b/sw/source/core/doc/poolfmt.cxx
@@ -47,6 +47,7 @@
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
#include <DocumentSettingManager.hxx>
+#include <IDocumentState.hxx>
#include <fmtanchr.hxx>
#include <fmtornt.hxx>
#include <fmtsrnd.hxx>
@@ -1174,7 +1175,7 @@ SwFmt* SwDoc::GetFmtFromPool( sal_uInt16 nId )
SwAttrSet aSet( GetAttrPool(), pWhichRange );
{
- bool bIsModified = IsModified();
+ bool bIsModified = getIDocumentState().IsModified();
{
::sw::UndoGuard const undoGuard(GetIDocumentUndoRedo());
@@ -1192,7 +1193,7 @@ SwFmt* SwDoc::GetFmtFromPool( sal_uInt16 nId )
}
if( !bIsModified )
- ResetModified();
+ getIDocumentState().ResetModified();
pNewFmt->SetPoolFmtId( nId );
pNewFmt->SetAuto( false ); // no AutoFormat
}
@@ -1481,7 +1482,7 @@ SwPageDesc* SwDoc::GetPageDescFromPool( sal_uInt16 nId, bool bRegardLanguage )
{
const ResId aResId( sal_uInt32(RC_POOLPAGEDESC_BEGIN + nId - RES_POOLPAGE_BEGIN), *pSwResMgr );
const OUString aNm( aResId );
- const bool bIsModified = IsModified();
+ const bool bIsModified = getIDocumentState().IsModified();
{
::sw::UndoGuard const undoGuard(GetIDocumentUndoRedo());
@@ -1491,7 +1492,7 @@ SwPageDesc* SwDoc::GetPageDescFromPool( sal_uInt16 nId, bool bRegardLanguage )
pNewPgDsc->SetPoolFmtId( nId );
if ( !bIsModified )
{
- ResetModified();
+ getIDocumentState().ResetModified();
}
}
@@ -1660,7 +1661,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
const SvxNumberFormat::SvxNumPositionAndSpaceMode eNumberFormatPositionAndSpaceMode
= numfunc::GetDefaultPositionAndSpaceMode(); //#i89178#
{
- bool bIsModified = IsModified();
+ bool bIsModified = getIDocumentState().IsModified();
sal_uInt16 n = MakeNumRule( aNm, 0, false, eNumberFormatPositionAndSpaceMode );
@@ -1676,7 +1677,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
pBullCFmt = GetCharFmtFromPool( RES_POOLCHR_NUM_LEVEL );
if( !bIsModified )
- ResetModified();
+ getIDocumentState().ResetModified();
}
switch( nId )
@@ -2260,7 +2261,7 @@ sal_uInt16 SwDoc::SetDocPattern( const OUString& rPatternName )
maPatternNms.erase(maPatternNms.begin() + nNewPos); // Free space again
maPatternNms.insert(maPatternNms.begin() + nNewPos, new OUString(rPatternName));
- SetModified();
+ getIDocumentState().SetModified();
return nNewPos;
}
diff --git a/sw/source/core/docnode/ndsect.cxx b/sw/source/core/docnode/ndsect.cxx
index ee8baa6..eda4af4 100644
--- a/sw/source/core/docnode/ndsect.cxx
+++ b/sw/source/core/docnode/ndsect.cxx
@@ -30,6 +30,7 @@
#include <IDocumentUndoRedo.hxx>
#include <IDocumentLinksAdministration.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <rootfrm.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
@@ -378,7 +379,7 @@ SwDoc::InsertSwSection(SwPaM const& rRange, SwSectionData & rNewData,
GetFtnIdxs().UpdateFtn( SwNodeIndex( *pNewSectNode ));
}
- SetModified();
+ getIDocumentState().SetModified();
return &pNewSectNode->GetSection();
}
@@ -540,7 +541,7 @@ void SwDoc::DelSectionFmt( SwSectionFmt *pFmt, bool bDelNodes )
GetIDocumentUndoRedo().AppendUndo( new SwUndoDelete( aPaM ));
if( pFtnEndAtTxtEnd )
GetFtnIdxs().UpdateFtn( aUpdIdx );
- SetModified();
+ getIDocumentState().SetModified();
//#126178# start/end undo have to be pairs!
GetIDocumentUndoRedo().EndUndo(UNDO_DELSECTION, NULL);
return ;
@@ -554,7 +555,7 @@ void SwDoc::DelSectionFmt( SwSectionFmt *pFmt, bool bDelNodes )
getIDocumentContentOperations().DeleteSection( (SwNode*)pSectNd );
if( pFtnEndAtTxtEnd )
GetFtnIdxs().UpdateFtn( aUpdIdx );
- SetModified();
+ getIDocumentState().SetModified();
//#126178# start/end undo have to be pairs!
GetIDocumentUndoRedo().EndUndo(UNDO_DELSECTION, NULL);
return ;
@@ -601,7 +602,7 @@ void SwDoc::DelSectionFmt( SwSectionFmt *pFmt, bool bDelNodes )
GetIDocumentUndoRedo().EndUndo(UNDO_DELSECTION, NULL);
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::UpdateSection(sal_uInt16 const nPos, SwSectionData & rNewData,
@@ -647,7 +648,7 @@ void SwDoc::UpdateSection(sal_uInt16 const nPos, SwSectionData & rNewData,
// We don't want them.
::sw::UndoGuard const undoGuard(GetIDocumentUndoRedo());
pFmt->SetFmtAttr( *pAttr );
- SetModified();
+ getIDocumentState().SetModified();
}
return;
}
@@ -743,7 +744,7 @@ void SwDoc::UpdateSection(sal_uInt16 const nPos, SwSectionData & rNewData,
getIDocumentLinksAdministration().GetLinkManager().Remove( &pSection->GetBaseLink() );
}
- SetModified();
+ getIDocumentState().SetModified();
}
void sw_DeleteFtn( SwSectionNode *pNd, sal_uLong nStt, sal_uLong nEnd )
diff --git a/sw/source/core/docnode/ndtbl.cxx b/sw/source/core/docnode/ndtbl.cxx
index fd145a2..123c8c1 100644
--- a/sw/source/core/docnode/ndtbl.cxx
+++ b/sw/source/core/docnode/ndtbl.cxx
@@ -44,6 +44,7 @@
#include <IDocumentChartDataProviderAccess.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <cntfrm.hxx>
#include <pam.hxx>
#include <swcrsr.hxx>
@@ -548,7 +549,7 @@ const SwTable* SwDoc::InsertTable( const SwInsertTableOptions& rInsTblOpts,
getIDocumentRedlineAccess().SplitRedline( aPam );
}
- SetModified();
+ getIDocumentState().SetModified();
CHECK_TABLE( *pNdTbl );
return pNdTbl;
}
@@ -871,7 +872,7 @@ const SwTable* SwDoc::TextToTable( const SwInsertTableOptions& rInsTblOpts,
GetIDocumentUndoRedo().EndUndo( UNDO_TEXTTOTABLE, NULL );
}
- SetModified();
+ getIDocumentState().SetModified();
getIDocumentFieldsAccess().SetFieldsDirty(true, NULL, 0);
return pNdTbl;
}
@@ -1225,7 +1226,7 @@ const SwTable* SwDoc::TextToTable( const std::vector< std::vector<SwNodeRange> >
sal_uLong nIdx = pTblNd->GetIndex();
aNode2Layout.RestoreUpperFrms( GetNodes(), nIdx, nIdx + 1 );
- SetModified();
+ getIDocumentState().SetModified();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
return pNdTbl;
}
@@ -1447,7 +1448,7 @@ bool SwDoc::TableToText( const SwTableNode* pTblNd, sal_Unicode cCh )
}
if( bRet )
- SetModified();
+ getIDocumentState().SetModified();
return bRet;
}
@@ -1708,7 +1709,7 @@ bool SwDoc::InsertCol( const SwSelBoxes& rBoxes, sal_uInt16 nCnt, bool bBehind )
bRet = rTbl.InsertCol( this, rBoxes, nCnt, bBehind );
if (bRet)
{
- SetModified();
+ getIDocumentState().SetModified();
::ClearFEShellTabCols();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
}
@@ -1770,7 +1771,7 @@ bool SwDoc::InsertRow( const SwSelBoxes& rBoxes, sal_uInt16 nCnt, bool bBehind )
bRet = rTbl.InsertRow( this, rBoxes, nCnt, bBehind );
if (bRet)
{
- SetModified();
+ getIDocumentState().SetModified();
::ClearFEShellTabCols();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
}
@@ -2076,7 +2077,7 @@ bool SwDoc::DeleteRowCol( const SwSelBoxes& rBoxes, bool bColumn )
pTblNd->DelFrms();
getIDocumentContentOperations().DeleteSection( pTblNd );
}
- SetModified();
+ getIDocumentState().SetModified();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
return true;
}
@@ -2107,7 +2108,7 @@ bool SwDoc::DeleteRowCol( const SwSelBoxes& rBoxes, bool bColumn )
bRet = rTable.DeleteSel( this, aSelBoxes, 0, pUndo, true, true );
if (bRet)
{
- SetModified();
+ getIDocumentState().SetModified();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
}
}
@@ -2175,7 +2176,7 @@ bool SwDoc::SplitTbl( const SwSelBoxes& rBoxes, bool bVert, sal_uInt16 nCnt,
if (bRet)
{
- SetModified();
+ getIDocumentState().SetModified();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
}
}
@@ -2282,7 +2283,7 @@ sal_uInt16 SwDoc::MergeTbl( SwPaM& rPam )
if( pTblNd->GetTable().Merge( this, aBoxes, aMerged, pMergeBox, pUndo ))
{
nRet = TBLMERGE_OK;
- SetModified();
+ getIDocumentState().SetModified();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
if( pUndo )
{
@@ -2883,7 +2884,7 @@ void SwDoc::SetTabCols(SwTable& rTab, const SwTabCols &rNew, const SwTabCols &rO
}
rTab.SetTabCols( rNew, rOld, pStart, bCurRowOnly );
::ClearFEShellTabCols();
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::SetRowsToRepeat( SwTable &rTable, sal_uInt16 nSet )
@@ -2900,7 +2901,7 @@ void SwDoc::SetRowsToRepeat( SwTable &rTable, sal_uInt16 nSet )
SwMsgPoolItem aChg( RES_TBLHEADLINECHG );
rTable.SetRowsToRepeat( nSet );
rTable.GetFrmFmt()->ModifyNotification( &aChg, &aChg );
- SetModified();
+ getIDocumentState().SetModified();
}
void SwCollectTblLineBoxes::AddToUndoHistory( const SwCntntNode& rNd )
@@ -3493,7 +3494,7 @@ bool SwDoc::MergeTable( const SwPosition& rPos, bool bWithPrev, sal_uInt16 nMode
}
if( bRet )
{
- SetModified();
+ getIDocumentState().SetModified();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
}
return bRet;
@@ -3766,7 +3767,7 @@ bool SwDoc::SetTableAutoFmt( const SwSelBoxes& rBoxes, const SwTableAutoFmt& rNe
GetIDocumentUndoRedo().DoUndo(bUndo);
}
- SetModified();
+ getIDocumentState().SetModified();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
return true;
@@ -3956,7 +3957,7 @@ bool SwDoc::SetColRowWidthHeight( SwTableBox& rAktBox, sal_uInt16 eType,
if( bRet )
{
- SetModified();
+ getIDocumentState().SetModified();
if( nsTblChgWidthHeightType::WH_FLAG_INSDEL & eType )
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
}
@@ -4101,7 +4102,7 @@ void SwDoc::ChkBoxNumFmt( SwTableBox& rBox, bool bCallUpdate )
if (AUTOUPD_FIELD_AND_CHARTS == GetDocumentSettingManager().getFieldUpdateFlags(true))
pTblNd->GetTable().UpdateCharts();
}
- SetModified();
+ getIDocumentState().SetModified();
}
}
@@ -4126,7 +4127,7 @@ void SwDoc::SetTblBoxFormulaAttrs( SwTableBox& rBox, const SfxItemSet& rSet )
pBoxFmt->UnlockModify();
}
pBoxFmt->SetFmtAttr( rSet );
- SetModified();
+ getIDocumentState().SetModified();
}
void SwDoc::ClearLineNumAttrs( SwPosition & rPos )
@@ -4205,7 +4206,7 @@ void SwDoc::ClearBoxNumAttrs( const SwNodeIndex& rNode )
pBoxFmt->SetFmtAttr( *GetDfltAttr( RES_BOXATR_FORMAT ));
pBoxFmt->ResetFmtAttr( nWhich1, RES_BOXATR_VALUE );
- SetModified();
+ getIDocumentState().SetModified();
}
}
}
@@ -4365,7 +4366,7 @@ bool SwDoc::InsCopyOfTbl( SwPosition& rInsPos, const SwSelBoxes& rBoxes,
if( bRet )
{
- SetModified();
+ getIDocumentState().SetModified();
getIDocumentFieldsAccess().SetFieldsDirty( true, NULL, 0 );
}
return bRet;
@@ -4409,7 +4410,7 @@ bool SwDoc::UnProtectCells( const OUString& rName )
{
bChgd = _UnProtectTblCells( *SwTable::FindTable( pFmt ) );
if( bChgd )
- SetModified();
+ getIDocumentState().SetModified();
}
return bChgd;
@@ -4497,7 +4498,7 @@ bool SwDoc::UnProtectTbls( const SwPaM& rPam )
GetIDocumentUndoRedo().EndUndo(UNDO_EMPTY, NULL);
if( bChgd )
- SetModified();
+ getIDocumentState().SetModified();
return bChgd;
}
diff --git a/sw/source/core/docnode/ndtbl1.cxx b/sw/source/core/docnode/ndtbl1.cxx
index 038281f..1805d3b 100644
--- a/sw/source/core/docnode/ndtbl1.cxx
+++ b/sw/source/core/docnode/ndtbl1.cxx
@@ -36,6 +36,7 @@
#include <svx/svxids.hrc>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include "pam.hxx"
#include "swcrsr.hxx"
#include "viscrs.hxx"
@@ -311,7 +312,7 @@ void SwDoc::SetRowSplit( const SwCursor& rCursor, const SwFmtRowSplit &rNew )
::lcl_ProcessRowAttr( aFmtCmp, aRowArr[i], rNew );
SwTblFmtCmp::Delete( aFmtCmp );
- SetModified();
+ getIDocumentState().SetModified();
}
}
}
@@ -377,7 +378,7 @@ void SwDoc::SetRowHeight( const SwCursor& rCursor, const SwFmtFrmSize &rNew )
::lcl_ProcessRowSize( aFmtCmp, aRowArr[i], rNew );
SwTblFmtCmp::Delete( aFmtCmp );
- SetModified();
+ getIDocumentState().SetModified();
}
}
}
@@ -447,7 +448,7 @@ bool SwDoc::BalanceRowHeight( const SwCursor& rCursor, bool bTstOnly )
::lcl_ProcessRowSize( aFmtCmp, (SwTableLine*)aRowArr[i], aNew );
SwTblFmtCmp::Delete( aFmtCmp );
- SetModified();
+ getIDocumentState().SetModified();
}
bRet = true;
}
@@ -477,7 +478,7 @@ void SwDoc::SetRowBackground( const SwCursor& rCursor, const SvxBrushItem &rNew
::lcl_ProcessRowAttr( aFmtCmp, aRowArr[i], rNew );
SwTblFmtCmp::Delete( aFmtCmp );
- SetModified();
+ getIDocumentState().SetModified();
}
}
}
@@ -801,7 +802,7 @@ void SwDoc::SetTabBorders( const SwCursor& rCursor, const SfxItemSet& rSet )
}
SwTblFmtCmp::Delete( aFmtCmp );
::ClearFEShellTabCols();
- SetModified();
+ getIDocumentState().SetModified();
}
}
@@ -897,7 +898,7 @@ void SwDoc::SetTabLineStyle( const SwCursor& rCursor,
pTableLayout->GetBrowseWidthByTabFrm( *pTabFrm ), true );
}
::ClearFEShellTabCols();
- SetModified();
+ getIDocumentState().SetModified();
}
}
@@ -1168,7 +1169,7 @@ void SwDoc::SetBoxAttr( const SwCursor& rCursor, const SfxPoolItem &rNew )
pTableLayout->GetBrowseWidthByTabFrm( *pTabFrm ), true );
}
SwTblFmtCmp::Delete( aFmtCmp );
- SetModified();
+ getIDocumentState().SetModified();
}
}
@@ -1581,7 +1582,7 @@ void SwDoc::AdjustCellWidth( const SwCursor& rCursor, bool bBalance )
}
}
- SetModified();
+ getIDocumentState().SetModified();
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/docnode/nodedump.cxx b/sw/source/core/docnode/nodedump.cxx
index 1e82f0d..0d16911 100644
--- a/sw/source/core/docnode/nodedump.cxx
+++ b/sw/source/core/docnode/nodedump.cxx
@@ -12,6 +12,7 @@
#include <IDocumentDrawModelAccess.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <UndoManager.hxx>
#include "ndtxt.hxx"
#include "MarkManager.hxx"
@@ -197,7 +198,7 @@ void SwDoc::dumpAsXml( xmlTextWriterPtr w )
lcl_dumpSdrModel( writer, getIDocumentDrawModelAccess().GetDrawModel() );
writer.startElement("mbModified");
- writer.writeFormatAttribute("value", TMP_FORMAT, static_cast<int>(mbModified));
+ writer.writeFormatAttribute("value", TMP_FORMAT, static_cast<int>(getIDocumentState().IsModified()));
writer.endElement();
writer.endElement();
diff --git a/sw/source/core/docnode/section.cxx b/sw/source/core/docnode/section.cxx
index 0a21afb..fe53dc8 100644
--- a/sw/source/core/docnode/section.cxx
+++ b/sw/source/core/docnode/section.cxx
@@ -37,6 +37,7 @@
#include <DocumentContentOperationsManager.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <node.hxx>
#include <pam.hxx>
#include <frmtool.hxx>
@@ -1181,7 +1182,7 @@ static void lcl_UpdateLinksInSect( SwBaseLink& rUpdLnk, SwSectionNode& rSectNd )
// #i38810# - Due to possible existing signatures, the
// document has to be modified after updating a link.
- pDoc->SetModified();
+ pDoc->getIDocumentState().SetModified();
// set additional flag that links have been updated, in order to check this
// during load.
pDoc->getIDocumentLinksAdministration().SetLinksUpdated( true );
diff --git a/sw/source/core/edit/edfld.cxx b/sw/source/core/edit/edfld.cxx
index d25a72f..5d070bf 100644
--- a/sw/source/core/edit/edfld.cxx
+++ b/sw/source/core/edit/edfld.cxx
@@ -24,6 +24,7 @@
#include <fldbas.hxx>
#include <doc.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <docary.hxx>
#include <fmtfld.hxx>
#include <txtfld.hxx>
@@ -332,7 +333,7 @@ void SwEditShell::UpdateFlds( SwField &rFld )
FOREACHPAM_END()
}
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllAction();
}
diff --git a/sw/source/core/edit/edglbldc.cxx b/sw/source/core/edit/edglbldc.cxx
index 30cafd3..10058b8 100644
--- a/sw/source/core/edit/edglbldc.cxx
+++ b/sw/source/core/edit/edglbldc.cxx
@@ -20,6 +20,7 @@
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
#include <IDocumentSettingAccess.hxx>
+#include <IDocumentState.hxx>
#include <editsh.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
@@ -38,11 +39,11 @@ bool SwEditShell::IsGlobalDoc() const
void SwEditShell::SetGlblDocSaveLinks( bool bFlag )
{
getIDocumentSettingAccess()->set(IDocumentSettingAccess::GLOBAL_DOCUMENT_SAVE_LINKS, bFlag);
- if( !GetDoc()->IsModified() ) // Bug 57028
+ if( !GetDoc()->getIDocumentState().IsModified() ) // Bug 57028
{
GetDoc()->GetIDocumentUndoRedo().SetUndoNoResetModified();
}
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
}
bool SwEditShell::IsGlblDocSaveLinks() const
diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx
index c4267f0..4ec7dd0 100644
--- a/sw/source/core/edit/editsh.cxx
+++ b/sw/source/core/edit/editsh.cxx
@@ -35,6 +35,7 @@
#include <IDocumentLinksAdministration.hxx>
#include <IDocumentFieldsAccess.hxx>
#include <IDocumentStatistics.hxx>
+#include <IDocumentState.hxx>
#include <docary.hxx>
#include <editsh.hxx>
#include <frame.hxx>
@@ -341,7 +342,7 @@ void SwEditShell::SetGraphicPolygon( const PolyPolygon *pPoly )
SwFlyFrm *pFly = (SwFlyFrm*)pNd->getLayoutFrm(GetLayout())->GetUpper();
const SwFmtSurround &rSur = pFly->GetFmt()->GetSurround();
pFly->GetFmt()->NotifyClients( (SwFmtSurround*)&rSur, (SwFmtSurround*)&rSur );
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllAction();
}
@@ -356,7 +357,7 @@ void SwEditShell::ClearAutomaticContour()
SwFlyFrm *pFly = (SwFlyFrm*)pNd->getLayoutFrm(GetLayout())->GetUpper();
const SwFmtSurround &rSur = pFly->GetFmt()->GetSurround();
pFly->GetFmt()->NotifyClients( (SwFmtSurround*)&rSur, (SwFmtSurround*)&rSur );
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllAction();
}
}
diff --git a/sw/source/core/edit/ednumber.cxx b/sw/source/core/edit/ednumber.cxx
index 1f36489..7e41893 100644
--- a/sw/source/core/edit/ednumber.cxx
+++ b/sw/source/core/edit/ednumber.cxx
@@ -22,6 +22,7 @@
#include <edimp.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <ndtxt.hxx>
#include <paratr.hxx>
#include <swundo.hxx>
@@ -297,7 +298,7 @@ void SwEditShell::DelNumRules()
// Cursor cannot be in front of a label anymore, because numbering/bullet is deleted.
SetInFrontOfLabel( false );
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllAction();
}
@@ -319,7 +320,7 @@ bool SwEditShell::NumUpDown( bool bDown )
bRet = bRet && GetDoc()->NumUpDown( aRangeArr.SetPam( n, aPam ), bDown );
GetDoc()->GetIDocumentUndoRedo().EndUndo( UNDO_END, NULL );
}
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
// #i54693# Update marked numbering levels
if ( IsInFrontOfLabel() )
@@ -404,7 +405,7 @@ bool SwEditShell::MoveParagraph( long nOffset )
bool bRet = GetDoc()->MoveParagraph( *pCrsr, nOffset );
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllAction();
return bRet;
}
@@ -518,7 +519,7 @@ bool SwEditShell::MoveNumParas( bool bUpperLower, bool bUpperLeft )
}
}
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllAction();
return bRet;
}
@@ -541,7 +542,7 @@ bool SwEditShell::OutlineUpDown( short nOffset )
aRangeArr.SetPam( n, aPam ), nOffset );
GetDoc()->GetIDocumentUndoRedo().EndUndo( UNDO_END, NULL );
}
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllAction();
return bRet;
}
diff --git a/sw/source/core/edit/edtab.cxx b/sw/source/core/edit/edtab.cxx
index 7e95ed4..511d956 100644
--- a/sw/source/core/edit/edtab.cxx
+++ b/sw/source/core/edit/edtab.cxx
@@ -33,6 +33,7 @@
#include <IDocumentUndoRedo.hxx>
#include <IDocumentChartDataProviderAccess.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
#include <cntfrm.hxx>
#include <pam.hxx>
#include <ndtxt.hxx>
@@ -281,11 +282,11 @@ void SwEditShell::SetTblChgMode( TblChgMode eMode )
if( pTblNd )
{
((SwTable&)pTblNd->GetTable()).SetTblChgMode( eMode );
- if( !GetDoc()->IsModified() ) // Bug 57028
+ if( !GetDoc()->getIDocumentState().IsModified() ) // Bug 57028
{
GetDoc()->GetIDocumentUndoRedo().SetUndoNoResetModified();
}
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
}
}
diff --git a/sw/source/core/edit/edws.cxx b/sw/source/core/edit/edws.cxx
index 8be5eaa..443eb69 100644
--- a/sw/source/core/edit/edws.cxx
+++ b/sw/source/core/edit/edws.cxx
@@ -22,6 +22,7 @@
#include <editsh.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <pam.hxx>
#include <docary.hxx>
#include <acorrect.hxx>
@@ -48,22 +49,22 @@ SwEditShell::~SwEditShell() // USED
bool SwEditShell::IsModified() const
{
- return GetDoc()->IsModified();
+ return GetDoc()->getIDocumentState().IsModified();
}
void SwEditShell::SetModified()
{
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
}
void SwEditShell::ResetModified()
{
- GetDoc()->ResetModified();
+ GetDoc()->getIDocumentState().ResetModified();
}
void SwEditShell::SetUndoNoResetModified()
{
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
GetDoc()->GetIDocumentUndoRedo().SetUndoNoResetModified();
}
@@ -261,7 +262,7 @@ void SwEditShell::AutoCorrect( SvxAutoCorrect& rACorr, bool bInsert,
void SwEditShell::SetNewDoc(bool bNew)
{
- GetDoc()->SetNewDoc(bNew);
+ GetDoc()->getIDocumentState().SetNewDoc(bNew);
}
bool SwEditShell::GetPrevAutoCorrWord( SvxAutoCorrect& rACorr, OUString& rWord )
diff --git a/sw/source/core/fields/ddefld.cxx b/sw/source/core/fields/ddefld.cxx
index e120a1c..a698cab 100644
--- a/sw/source/core/fields/ddefld.cxx
+++ b/sw/source/core/fields/ddefld.cxx
@@ -21,6 +21,7 @@
#include <sfx2/linkmgr.hxx>
#include <doc.hxx>
#include <IDocumentLinksAdministration.hxx>
+#include <IDocumentState.hxx>
#include <editsh.hxx>
#include <ndtxt.hxx>
#include <fmtfld.hxx>
@@ -133,7 +134,7 @@ public:
pSh->EndAction();
if( pSh )
- pSh->GetDoc()->SetModified();
+ pSh->GetDoc()->getIDocumentState().SetModified();
}
}
diff --git a/sw/source/core/fields/usrfld.cxx b/sw/source/core/fields/usrfld.cxx
index 7601676..d370137 100644
--- a/sw/source/core/fields/usrfld.cxx
+++ b/sw/source/core/fields/usrfld.cxx
@@ -28,6 +28,7 @@
#include <doc.hxx>
#include <IDocumentFieldsAccess.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <editsh.hxx>
#include <dpage.hxx>
#include <unofldmid.h>
@@ -269,8 +270,8 @@ void SwUserFieldType::SetContent( const OUString& rStr, sal_uInt32 nFmt )
}
}
- bool bModified = GetDoc()->IsModified();
- GetDoc()->SetModified();
+ bool bModified = GetDoc()->getIDocumentState().IsModified();
+ GetDoc()->getIDocumentState().SetModified();
if( !bModified ) // Bug 57028
{
GetDoc()->GetIDocumentUndoRedo().SetUndoNoResetModified();
diff --git a/sw/source/core/frmedt/fefly1.cxx b/sw/source/core/frmedt/fefly1.cxx
index 3c8ea5d..2886323 100644
--- a/sw/source/core/frmedt/fefly1.cxx
+++ b/sw/source/core/frmedt/fefly1.cxx
@@ -45,6 +45,7 @@
#include <viscrs.hxx>
#include <doc.hxx>
#include <IDocumentUndoRedo.hxx>
+#include <IDocumentState.hxx>
#include <dview.hxx>
#include <dflyobj.hxx>
#include <dcontact.hxx>
@@ -1134,7 +1135,7 @@ bool SwFEShell::ResetFlyFrmAttr( sal_uInt16 nWhich, const SfxItemSet* pSet )
bRet = true;
EndAllActionAndCall();
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
}
}
return bRet;
diff --git a/sw/source/core/frmedt/feshview.cxx b/sw/source/core/frmedt/feshview.cxx
index 8aa17a8..36a12e6 100644
--- a/sw/source/core/frmedt/feshview.cxx
+++ b/sw/source/core/frmedt/feshview.cxx
@@ -38,6 +38,7 @@
#include <svx/svdpagv.hxx>
#include <IDocumentSettingAccess.hxx>
#include <DocumentSettingManager.hxx>
+#include <IDocumentState.hxx>
#include <cmdid.h>
#include <drawdoc.hxx>
#include <textboxhelper.hxx>
@@ -666,7 +667,7 @@ long SwFEShell::EndDrag( const Point *, bool )
((SwCrsrShell*)pSh)->CallChgLnk();
} while ( this != (pSh = (SwViewShell*)pSh->GetNext()) );
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
::FrameNotify( this, FLY_DRAG );
return 1;
}
@@ -809,7 +810,7 @@ void SwFEShell::SelectionToTop( bool bTop )
else
Imp()->GetDrawView()->MovMarkedToTop();
::lcl_NotifyNeighbours( &rMrkList );
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllAction();
}
@@ -829,7 +830,7 @@ void SwFEShell::SelectionToBottom( bool bBottom )
else
Imp()->GetDrawView()->MovMarkedToBtm();
::lcl_NotifyNeighbours( &rMrkList );
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllAction();
}
@@ -897,7 +898,7 @@ void SwFEShell::ChangeOpaque( SdrLayerID nLayerId )
}
}
}
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
}
}
@@ -1820,7 +1821,7 @@ bool SwFEShell::ImpEndCreate()
}
}
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
KillPams();
EndAllActionAndCall();
@@ -2372,7 +2373,7 @@ bool SwFEShell::SetObjAttr( const SfxItemSet& rSet )
EndUndo( UNDO_INSATTR );
EndAllActionAndCall();
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
return true;
}
diff --git a/sw/source/core/frmedt/fetab.cxx b/sw/source/core/frmedt/fetab.cxx
index 20df05e..2a33bfa 100644
--- a/sw/source/core/frmedt/fetab.cxx
+++ b/sw/source/core/frmedt/fetab.cxx
@@ -34,6 +34,7 @@
#include <docary.hxx>
#include <fesh.hxx>
#include <doc.hxx>
+#include <IDocumentState.hxx>
#include <cntfrm.hxx>
#include <rootfrm.hxx>
#include <pagefrm.hxx>
@@ -840,7 +841,7 @@ void SwFEShell::SetTabBackground( const SvxBrushItem &rNew )
StartAllAction();
GetDoc()->SetAttr( rNew, *pFrm->ImplFindTabFrm()->GetFmt() );
EndAllAction(); // no call, nothing changes!
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
}
void SwFEShell::GetTabBackground( SvxBrushItem &rToFill ) const
@@ -2067,7 +2068,7 @@ void SwFEShell::SetTblAttr( const SfxItemSet &rNew )
SwTabFrm *pTab = pFrm->FindTabFrm();
pTab->GetTable()->SetHTMLTableLayout( 0 );
GetDoc()->SetAttr( rNew, *pTab->GetFmt() );
- GetDoc()->SetModified();
+ GetDoc()->getIDocumentState().SetModified();
EndAllActionAndCall();
}
}
diff --git a/sw/source/core/inc/DocumentStateManager.hxx b/sw/source/core/inc/DocumentStateManager.hxx
new file mode 100644
index 0000000..b789c68
--- /dev/null
+++ b/sw/source/core/inc/DocumentStateManager.hxx
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef INCLUDED_SW_SOURCE_CORE_INC_DOCUMENTSTATEMANAGER_HXX
+#define INCLUDED_SW_SOURCE_CORE_INC_DOCUMENTSTATEMANAGER_HXX
+
+#include <IDocumentState.hxx>
+#include <boost/utility.hpp>
+
+class SwDoc;
+
+
+namespace sw {
+
+class DocumentStateManager : public IDocumentState,
+ public ::boost::noncopyable
+{
+
+public:
+ DocumentStateManager( SwDoc& i_rSwdoc );
+
+ void SetModified() SAL_OVERRIDE;
+ void ResetModified() SAL_OVERRIDE;
+ bool IsModified() const SAL_OVERRIDE;
+ bool IsInCallModified() const SAL_OVERRIDE;
+ bool IsLoaded() const SAL_OVERRIDE;
+ bool IsUpdateExpFld() const SAL_OVERRIDE;
+ bool IsNewDoc() const SAL_OVERRIDE;
+ bool IsPageNums() const SAL_OVERRIDE;
+ void SetPageNums(bool b) SAL_OVERRIDE;
+ void SetNewDoc(bool b) SAL_OVERRIDE;
+ void SetUpdateExpFldStat(bool b) SAL_OVERRIDE;
+ void SetLoaded(bool b) SAL_OVERRIDE;
+
+private:
+ SwDoc& m_rSwdoc;
+
+ bool mbModified ; //< TRUE: document has changed.
+ bool mbLoaded ; //< TRUE: Doc loaded.
+ bool mbUpdateExpFld ; //< TRUE: Update expression fields.
+ bool mbNewDoc ; //< TRUE: new Doc.
+ bool mbPageNums ; //< TRUE: There are virtual page numbers.
+ bool mbInCallModified; //< TRUE: in Set/Reset-Modified link.
+};
+
+}
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sw/source/core/layout/anchoreddrawobject.cxx b/sw/source/core/layout/anchoreddrawobject.cxx
index 09451a5..43aeb13 100644
--- a/sw/source/core/layout/anchoreddrawobject.cxx
+++ b/sw/source/core/layout/anchoreddrawobject.cxx
@@ -28,6 +28,7 @@
#include <vector>
#include <svx/svdogrp.hxx>
#include <DocumentSettingManager.hxx>
+#include <IDocumentState.hxx>
#include <txtfly.hxx>
using namespace ::com::sun::star;
@@ -657,12 +658,12 @@ const SwRect SwAnchoredDrawObject::GetObjBoundRect() const
if ( nTargetWidth != aCurrObjRect.GetWidth( ) || nTargetHeight != aCurrObjRect.GetHeight( ) )
{
SwDoc* pDoc = const_cast<SwDoc*>(GetPageFrm()->GetFmt()->GetDoc());
- bool bModified = pDoc->IsModified();
+ bool bModified = pDoc->getIDocumentState().IsModified();
const_cast< SdrObject* >( GetDrawObj() )->Resize( aCurrObjRect.TopLeft(),
Fraction( nTargetWidth, aCurrObjRect.GetWidth() ),
Fraction( nTargetHeight, aCurrObjRect.GetHeight() ), false );
if (!bModified)
- pDoc->ResetModified();
+ pDoc->getIDocumentState().ResetModified();
}
}
return GetDrawObj()->GetCurrentBoundRect();
diff --git a/sw/source/core/layout/colfrm.cxx b/sw/source/core/layout/colfrm.cxx
index c35553b..c6c44e6 100644
--- a/sw/source/core/layout/colfrm.cxx
+++ b/sw/source/core/layout/colfrm.cxx
@@ -29,6 +29,7 @@
#include "sectfrm.hxx"
#include "switerator.hxx"
#include "ftnfrm.hxx"
+#include <IDocumentState.hxx>
SwColumnFrm::SwColumnFrm( SwFrmFmt *pFmt, SwFrm* pSib ):
SwFtnBossFrm( pFmt, pSib )
@@ -94,7 +95,7 @@ static SwLayoutFrm * lcl_FindColumns( SwLayoutFrm *pLay, sal_uInt16 nCount )
static bool lcl_AddColumns( SwLayoutFrm *pCont, sal_uInt16 nCount )
{
SwDoc *pDoc = pCont->GetFmt()->GetDoc();
- const bool bMod = pDoc->IsModified();
+ const bool bMod = pDoc->getIDocumentState().IsModified();
//Formats should be shared whenever possible. If a neighbour already has
//the same column settings we can add them to the same format.
@@ -154,7 +155,7 @@ static bool lcl_AddColumns( SwLayoutFrm *pCont, sal_uInt16 nCount )
}
if ( !bMod )
- pDoc->ResetModified();
+ pDoc->getIDocumentState().ResetModified();
return bRet;
}
diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx
index 49bde44..663551f 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -65,6 +65,7 @@
#include <IDocumentTimerAccess.hxx>
#include <IDocumentRedlineAccess.hxx>
#include <IDocumentFieldsAccess.hxx>
+#include <IDocumentState.hxx>
//UUUU
#include <svx/sdr/attribute/sdrallfillattributeshelper.hxx>
@@ -875,7 +876,7 @@ SwCntntNotify::~SwCntntNotify()
// have a look at the occurrence of CalcLayout in
// uiview/view.cxx.
if ( !pNd->IsOLESizeInvalid() &&
- !pSh->GetDoc()->IsUpdateExpFld() )
+ !pSh->GetDoc()->getIDocumentState().IsUpdateExpFld() )
pFESh->CalcAndSetScale( xObj,
&pFly->Prt(), &pFly->Frm(),
bNoTxtFrmPrtAreaChanged );
@@ -904,7 +905,7 @@ SwCntntNotify::~SwCntntNotify()
SwDoc *pDoc = pCnt->GetNode()->GetDoc();
if ( !pDoc->GetSpzFrmFmts()->empty() &&
- pDoc->DoesContainAtPageObjWithContentAnchor() && !pDoc->IsNewDoc() )
+ pDoc->DoesContainAtPageObjWithContentAnchor() && !pDoc->getIDocumentState().IsNewDoc() )
{
// If certain import filters for foreign file format import
// AT_PAGE anchored objects, the corresponding page number is
diff --git a/sw/source/core/txtnode/txtatr2.cxx b/sw/source/core/txtnode/txtatr2.cxx
index 11f4f2f..d355d61 100644
--- a/sw/source/core/txtnode/txtatr2.cxx
+++ b/sw/source/core/txtnode/txtatr2.cxx
@@ -32,6 +32,7 @@
#include <doc.hxx>
#include <fmtruby.hxx>
#include <fmtmeta.hxx>
+#include <IDocumentState.hxx>
TYPEINIT1(SwTxtINetFmt,SwClient);
TYPEINIT1(SwTxtRuby,SwClient);
@@ -135,7 +136,7 @@ SwCharFmt* SwTxtINetFmt::GetCharFmt()
// JP 10.02.2000, Bug 72806: dont modify the doc for getting the
// correct charstyle.
- bool bResetMod = !pDoc->IsModified();
+ bool bResetMod = !pDoc->getIDocumentState().IsModified();
Link aOle2Lnk;
if ( bResetMod )
{
@@ -149,7 +150,7 @@ SwCharFmt* SwTxtINetFmt::GetCharFmt()
if ( bResetMod )
{
- ( (SwDoc*) pDoc )->ResetModified();
+ ( (SwDoc*) pDoc )->getIDocumentState().ResetModified();
( (SwDoc*) pDoc )->SetOle2Link( aOle2Lnk );
}
}
@@ -256,7 +257,7 @@ SwCharFmt* SwTxtRuby::GetCharFmt()
// JP 10.02.2000, Bug 72806: dont modify the doc for getting the
// correct charstyle.
- const bool bResetMod = !pDoc->IsModified();
+ const bool bResetMod = !pDoc->getIDocumentState().IsModified();
Link aOle2Lnk;
if( bResetMod )
{
@@ -270,7 +271,7 @@ SwCharFmt* SwTxtRuby::GetCharFmt()
if( bResetMod )
{
- ((SwDoc*)pDoc)->ResetModified();
+ ((SwDoc*)pDoc)->getIDocumentState().ResetModified();
((SwDoc*)pDoc)->SetOle2Link( aOle2Lnk );
}
}
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list