ooo-build r15517 - trunk/patches/dev300
- From: cbosdo svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r15517 - trunk/patches/dev300
- Date: Tue, 10 Mar 2009 16:49:29 +0000 (UTC)
Author: cbosdo
Date: Tue Mar 10 16:49:29 2009
New Revision: 15517
URL: http://svn.gnome.org/viewvc/ooo-build?rev=15517&view=rev
Log:
docx import fixes for redlines and settings
Added:
trunk/patches/dev300/sw-docx-import-redlines.diff
trunk/patches/dev300/writerfilter-docx-import-redlines.diff
Modified:
trunk/patches/dev300/apply
Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply (original)
+++ trunk/patches/dev300/apply Tue Mar 10 16:49:29 2009
@@ -1965,6 +1965,8 @@
sw-docx-import-tables.diff, i#90093, cbosdo
writerfilter-source-dmapper-domainmapper-debug.diff
writerfilter-docx-import-graphics.diff, i#96021, i#97645, cbosdo
+writerfilter-docx-import-redlines.diff, i#91883, n#478562, cbosdo
+sw-docx-import-redlines.diff, i#91883, n#478562, cbosdo
buildfix-oox-depends-on-unotools.diff
Added: trunk/patches/dev300/sw-docx-import-redlines.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/sw-docx-import-redlines.diff Tue Mar 10 16:49:29 2009
@@ -0,0 +1,64 @@
+diff --git sw/source/core/doc/docredln.cxx sw/source/core/doc/docredln.cxx
+index fd13119..86b6267 100644
+--- sw/source/core/doc/docredln.cxx
++++ sw/source/core/doc/docredln.cxx
+@@ -312,6 +312,7 @@ bool SwDoc::AppendRedline( SwRedline* pNewRedl, bool bCallDelete )
+ #ifndef PRODUCT
+ SwRedline aCopy( *pNewRedl );
+ #endif
++ bool bError = true;
+ _CHECK_REDLINE( this )
+
+ if( IsRedlineOn() && !IsShowOriginal( eRedlineMode ) &&
+@@ -431,6 +432,7 @@ bool SwDoc::AppendRedline( SwRedline* pNewRedl, bool bCallDelete )
+ pRedlineTbl->Insert( pRedl );
+ }
+
++ bError = false;
+ bDelete = true;
+ }
+ else if( (( POS_BEFORE == eCmpPos &&
+@@ -446,6 +448,7 @@ bool SwDoc::AppendRedline( SwRedline* pNewRedl, bool bCallDelete )
+ pRedlineTbl->Remove( n );
+ pRedlineTbl->Insert( pRedl );
+
++ bError = false;
+ bDelete = true;
+ }
+ else if ( POS_OUTSIDE == eCmpPos )
+@@ -1108,7 +1111,8 @@ bool SwDoc::AppendRedline( SwRedline* pNewRedl, bool bCallDelete )
+
+ case POS_EQUAL:
+ case POS_INSIDE:
+- delete pNewRedl, pNewRedl = 0;
++ // TODO Check if there is any side effect
++ //delete pNewRedl, pNewRedl = 0;
+ break;
+
+ case POS_OUTSIDE:
+@@ -1271,7 +1275,7 @@ bool SwDoc::AppendRedline( SwRedline* pNewRedl, bool bCallDelete )
+ }
+ _CHECK_REDLINE( this )
+
+- return 0 != pNewRedl;
++ return ( 0 != pNewRedl ) || !bError;
+ }
+
+ void SwDoc::CompressRedlines()
+diff --git sw/source/core/unocore/unocrsrhelper.cxx sw/source/core/unocore/unocrsrhelper.cxx
+index 89ca76b..ea7bdc4 100644
+--- sw/source/core/unocore/unocrsrhelper.cxx
++++ sw/source/core/unocore/unocrsrhelper.cxx
+@@ -1015,9 +1015,11 @@ void makeRedline( SwPaM& rPaM,
+ }
+
+ SwRedline* pRedline = new SwRedline( aRedlineData, rPaM );
++ RedlineMode_t nPrevMode = pRedlineAccess->GetRedlineMode( );
++
+ pRedlineAccess->SetRedlineMode_intern(nsRedlineMode_t::REDLINE_ON);
+ bool bRet = pRedlineAccess->AppendRedline( pRedline, false );
+- pRedlineAccess->SetRedlineMode_intern(nsRedlineMode_t::REDLINE_NONE);
++ pRedlineAccess->SetRedlineMode_intern( nPrevMode );
+ if( !bRet )
+ throw lang::IllegalArgumentException();
+ }
Added: trunk/patches/dev300/writerfilter-docx-import-redlines.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/writerfilter-docx-import-redlines.diff Tue Mar 10 16:49:29 2009
@@ -0,0 +1,525 @@
+diff --git writerfilter/source/dmapper/DomainMapper.cxx writerfilter/source/dmapper/DomainMapper.cxx
+index 6129cee..67bedbd 100644
+--- writerfilter/source/dmapper/DomainMapper.cxx
++++ writerfilter/source/dmapper/DomainMapper.cxx
+@@ -176,6 +176,10 @@ DomainMapper::~DomainMapper()
+ uno::Reference< document::XEventBroadcaster > xBroadcaster(xIndexesSupplier, uno::UNO_QUERY);
+ xBroadcaster->addEventListener(uno::Reference< document::XEventListener >(new ModelEventListener));
+ }
++
++
++ // Apply the document settings after everything else
++ m_pImpl->GetSettingsTable()->ApplyProperties( m_pImpl->GetTextDocument( ) );
+ }
+ catch( const uno::Exception& rEx )
+ {
+@@ -2143,6 +2147,9 @@ void DomainMapper::attribute(Id nName, Value & val)
+ case NS_ooxml::LN_CT_Color_themeShade:
+ //unsupported
+ break;
++ case NS_ooxml::LN_endtrackchange:
++ m_pImpl->ResetRedlineProperties( );
++ break;
+ default:
+ {
+ #if OSL_DEBUG_LEVEL > 0
+@@ -4032,16 +4039,16 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp
+ }
+ }
+ break;
++ case NS_ooxml::LN_paratrackchange:
++ m_pImpl->StartParaChange( );
+ case NS_ooxml::LN_trackchange:
+ /* WRITERFILTERSTATUS: done: 100, planned: 5, spent: 0 */
+ case NS_ooxml::LN_EG_RPrContent_rPrChange:
+ /* WRITERFILTERSTATUS: done: 100, planned: 5, spent: 0 */
+ {
++ m_pImpl->AddNewRedline( );
+ resolveSprmProps( rSprm );
+ // now the properties author, date and id should be available
+- ::rtl::OUString sAuthor = m_pImpl->GetCurrentRedlineAuthor();
+- ::rtl::OUString sDate = m_pImpl->GetCurrentRedlineDate();
+- ::rtl::OUString sId = m_pImpl->GetCurrentRedlineId();
+ sal_Int32 nToken = m_pImpl->GetCurrentRedlineToken();
+ switch( nToken & 0xffff )
+ {
+@@ -4050,6 +4057,7 @@ void DomainMapper::sprm( Sprm& rSprm, PropertyMapPtr rContext, SprmType eSprmTyp
+ case ooxml::OOXML_del : break;
+ default: OSL_ENSURE( false, "redline token other than mod, ins or del" );
+ }
++ m_pImpl->EndParaChange( );
+ }
+ break;
+ case NS_ooxml::LN_CT_RPrChange_rPr:
+@@ -4500,6 +4508,9 @@ void DomainMapper::table(Id name, writerfilter::Reference<Table>::Pointer_t ref)
+ case NS_ooxml::LN_THEMETABLE:
+ ref->resolve ( *m_pImpl->GetThemeTable() );
+ break;
++ case NS_ooxml::LN_SETTINGS:
++ ref->resolve( *m_pImpl->GetSettingsTable( ) );
++ break;
+ default:
+ OSL_ENSURE( false, "which table is to be filled here?");
+ }
+diff --git writerfilter/source/dmapper/DomainMapper_Impl.cxx writerfilter/source/dmapper/DomainMapper_Impl.cxx
+index ee73b1f..729be7d 100644
+--- writerfilter/source/dmapper/DomainMapper_Impl.cxx
++++ writerfilter/source/dmapper/DomainMapper_Impl.cxx
+@@ -75,7 +75,6 @@
+ #endif
+ #include <ooxml/OOXMLFastTokens.hxx>
+
+-
+ #include <map>
+
+ using namespace ::com::sun::star;
+@@ -401,7 +400,7 @@ DomainMapper_Impl::DomainMapper_Impl(
+ m_bLineNumberingSet( false ),
+ m_bIsInFootnoteProperties( true ),
+ m_bIsCustomFtnMark( false ),
+- n_CurrentRedlineToken( ooxml::OOXML_mod )
++ m_bIsParaChange( false )
+ {
+ GetBodyText();
+ uno::Reference< text::XTextAppend > xBodyTextAppend = uno::Reference< text::XTextAppend >( m_xBodyText, uno::UNO_QUERY );
+@@ -728,10 +727,10 @@ void DomainMapper_Impl::deferBreak( BreakType deferredBreakType)
+ switch (deferredBreakType)
+ {
+ case COLUMN_BREAK:
+- m_bIsColumnBreakDeferred = true;
++ m_bIsColumnBreakDeferred = true;
+ break;
+ case PAGE_BREAK:
+- m_bIsPageBreakDeferred = true;
++ m_bIsPageBreakDeferred = true;
+ break;
+ default:
+ return;
+@@ -1048,10 +1047,13 @@ void DomainMapper_Impl::finishParagraph( PropertyMapPtr pPropertyMap )
+ uno::Reference< text::XTextRange > xTextRange =
+ xTextAppend->finishParagraph( aProperties );
+ m_TableManager.handle(xTextRange);
+- }
+- else
+- {
+
++ // Get the end of paragraph character inserted
++ uno::Reference< text::XTextCursor > xCur = xTextRange->getText( )->createTextCursor( );
++ xCur->gotoEnd( false );
++ xCur->goLeft( 1 , true );
++ uno::Reference< text::XTextRange > xParaEnd( xCur, uno::UNO_QUERY );
++ CheckParaRedline( xParaEnd );
+ }
+ if( !bKeepLastParagraphProperties )
+ rAppendContext.pLastParagraphProperties = pToBeSavedProperties;
+@@ -1102,35 +1104,7 @@ void DomainMapper_Impl::appendTextPortion( const ::rtl::OUString& rString, Prope
+ uno::Reference< text::XTextRange > xTextRange =
+ xTextAppend->appendTextPortion
+ (rString, pPropertyMap->GetPropertyValues());
+- if( m_CurrentRedlineDate.getLength() )
+- {
+- try
+- {
+- ::rtl::OUString sType;
+- PropertyNameSupplier& rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier();
+- switch(n_CurrentRedlineToken & 0xffff)
+- {
+- case ooxml::OOXML_mod : sType = rPropNameSupplier.GetName( PROP_FORMAT ); break;
+- case ooxml::OOXML_ins : sType = rPropNameSupplier.GetName( PROP_INSERT ); break;
+- case ooxml::OOXML_del : sType = rPropNameSupplier.GetName( PROP_DELETE ); break;
+- }
+- uno::Reference< text::XRedline > xRedline( xTextRange, uno::UNO_QUERY_THROW );
+- beans::PropertyValues aRedlineProperties( 2 );
+- beans::PropertyValue* pRedlineProperties = aRedlineProperties.getArray();
+- pRedlineProperties[0].Name = rPropNameSupplier.GetName( PROP_REDLINE_AUTHOR );
+- pRedlineProperties[0].Value <<= m_CurrentRedlineAuthor;
+- pRedlineProperties[1].Name = rPropNameSupplier.GetName( PROP_REDLINE_DATE_TIME );
+- pRedlineProperties[1].Value <<= lcl_DateStringToDateTime( m_CurrentRedlineDate );
+- xRedline->makeRedline( sType, aRedlineProperties);
+-
+- }
+- catch( const uno::Exception& rEx )
+- {
+- (void)rEx;
+- OSL_ENSURE( false, "Exception in makeRedline" );
+- }
+- ResetRedlineProperties();
+- }
++ CheckRedline( xTextRange );
+
+ //m_TableManager.handle(xTextRange);
+ }
+@@ -1371,9 +1345,11 @@ void DomainMapper_Impl::PushFootOrEndnote( bool bIsFootnote )
+ aFontProps->Insert(PROP_CHAR_FONT_NAME, true, uno::makeAny( pTopContext->GetFootnoteFontName() ));
+ aFontProperties = aFontProps->GetPropertyValues();
+ }
+-
+ appendTextContent( uno::Reference< text::XTextContent >( xFootnoteText, uno::UNO_QUERY_THROW ), aFontProperties );
+ m_aTextAppendStack.push(uno::Reference< text::XTextAppend >( xFootnoteText, uno::UNO_QUERY_THROW ));
++
++ // Redlines for the footnote anchor
++ CheckRedline( xFootnote->getAnchor( ) );
+ }
+ catch( uno::Exception& )
+ {
+@@ -1381,6 +1357,78 @@ void DomainMapper_Impl::PushFootOrEndnote( bool bIsFootnote )
+ }
+ }
+
++void DomainMapper_Impl::CreateRedline( uno::Reference< text::XTextRange > xRange, RedlineParamsPtr pRedline )
++{
++ if ( pRedline.get( ) )
++ {
++#if DEBUG
++ clog << "REDLINE: Writing redline" << endl;
++#endif
++ try
++ {
++ ::rtl::OUString sType;
++ PropertyNameSupplier & rPropNameSupplier = PropertyNameSupplier::GetPropertyNameSupplier( );
++ switch ( pRedline->m_nToken & 0xffff )
++ {
++ case ooxml::OOXML_mod:
++ sType = rPropNameSupplier.GetName( PROP_FORMAT );
++ break;
++ case ooxml::OOXML_ins:
++ sType = rPropNameSupplier.GetName( PROP_INSERT );
++ break;
++ case ooxml::OOXML_del:
++ sType = rPropNameSupplier.GetName( PROP_DELETE );
++ break;
++ }
++ uno::Reference < text::XRedline > xRedline( xRange, uno::UNO_QUERY_THROW );
++ beans::PropertyValues aRedlineProperties( 2 );
++ beans::PropertyValue * pRedlineProperties = aRedlineProperties.getArray( );
++ pRedlineProperties[0].Name = rPropNameSupplier.GetName( PROP_REDLINE_AUTHOR );
++ pRedlineProperties[0].Value <<= pRedline->m_sAuthor;
++ pRedlineProperties[1].Name = rPropNameSupplier.GetName( PROP_REDLINE_DATE_TIME );
++ pRedlineProperties[1].Value <<= lcl_DateStringToDateTime( pRedline->m_sDate );
++
++ xRedline->makeRedline( sType, aRedlineProperties );
++ }
++ catch( const uno::Exception & rEx )
++ {
++ ( void ) rEx;
++ OSL_ENSURE( false, "Exception in makeRedline" );
++ }
++ }
++}
++
++void DomainMapper_Impl::CheckParaRedline( uno::Reference< text::XTextRange > xRange )
++{
++ if ( m_pParaRedline.get( ) )
++ {
++ CreateRedline( xRange, m_pParaRedline );
++ ResetParaRedline( );
++ }
++}
++
++void DomainMapper_Impl::CheckRedline( uno::Reference< text::XTextRange > xRange )
++{
++ for ( int i = 0, length = m_aRedlines.size( ); i < length; i++ )
++ {
++ RedlineParamsPtr pCurrent( m_aRedlines[i] );
++ CreateRedline( xRange, pCurrent );
++
++ if ( pCurrent.get( ) && ( pCurrent->m_nToken & 0xffff ) == ooxml::OOXML_mod )
++ ResetRedlineProperties( );
++ }
++}
++
++void DomainMapper_Impl::StartParaChange( )
++{
++ m_bIsParaChange = true;
++}
++
++void DomainMapper_Impl::EndParaChange( )
++{
++ m_bIsParaChange = false;
++}
++
+ /*-- 22.12.2008 13:45:15---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+@@ -3535,14 +3583,98 @@ bool DomainMapper_Impl::ExecuteFrameConversion()
+ }
+ return bRet;
+ }
++
++void DomainMapper_Impl::AddNewRedline( )
++{
++ RedlineParamsPtr pNew( new RedlineParams );
++ pNew->m_nToken = ooxml::OOXML_mod;
++ if ( !m_bIsParaChange )
++ {
++#if DEBUG
++ clog << "REDLINE: Adding a new redline to stack" << endl;
++#endif
++ m_aRedlines.push_back( pNew );
++ }
++ else
++ {
++#if DEBUG
++ clog << "REDLINE: Setting a new paragraph redline" << endl;
++#endif
++ m_pParaRedline.swap( pNew );
++ }
++}
++
++RedlineParamsPtr DomainMapper_Impl::GetTopRedline( )
++{
++ RedlineParamsPtr pResult;
++ if ( !m_bIsParaChange && m_aRedlines.size( ) > 0 )
++ pResult = m_aRedlines.back( );
++ else if ( m_bIsParaChange )
++ pResult = m_pParaRedline;
++ return pResult;
++}
++
++sal_Int32 DomainMapper_Impl::GetCurrentRedlineToken( )
++{
++ sal_Int32 nToken;
++ RedlineParamsPtr pCurrent = GetTopRedline( );
++ if ( pCurrent.get( ) )
++ nToken = pCurrent->m_nToken;
++ return nToken;
++}
++
++void DomainMapper_Impl::SetCurrentRedlineAuthor( rtl::OUString sAuthor )
++{
++ RedlineParamsPtr pCurrent = GetTopRedline( );
++ if ( pCurrent.get( ) )
++ pCurrent->m_sAuthor = sAuthor;
++}
++
++void DomainMapper_Impl::SetCurrentRedlineDate( rtl::OUString sDate )
++{
++ RedlineParamsPtr pCurrent = GetTopRedline( );
++ if ( pCurrent.get( ) )
++ pCurrent->m_sDate = sDate;
++}
++
++void DomainMapper_Impl::SetCurrentRedlineId( rtl::OUString sId )
++{
++ RedlineParamsPtr pCurrent = GetTopRedline( );
++ if ( pCurrent.get( ) )
++ pCurrent->m_sId = sId;
++}
++
++void DomainMapper_Impl::SetCurrentRedlineToken( sal_Int32 nToken )
++{
++ RedlineParamsPtr pCurrent = GetTopRedline( );
++ if ( pCurrent.get( ) )
++ pCurrent->m_nToken = nToken;
++}
++
+ /*-- 19.03.2008 11:35:38---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+-void DomainMapper_Impl::ResetRedlineProperties()
++void DomainMapper_Impl::ResetRedlineProperties( )
+ {
+- m_CurrentRedlineAuthor = m_CurrentRedlineDate = m_CurrentRedlineId = ::rtl::OUString();
+- n_CurrentRedlineToken = ooxml::OOXML_mod;
++ if ( m_aRedlines.size( ) > 0 )
++ {
++#if DEBUG
++ clog << "REDLINE: Removing current Redline from stack" << endl;
++#endif
++ m_aRedlines.pop_back( );
++ }
+ }
+
++void DomainMapper_Impl::ResetParaRedline( )
++{
++ if ( m_pParaRedline.get( ) )
++ {
++#if DEBUG
++ clog << "REDLINE: Cleaning the para redline" << endl;
++#endif
++ RedlineParamsPtr pEmpty;
++ m_pParaRedline.swap( pEmpty );
++ }
++}
+
+ }}
+diff --git writerfilter/source/dmapper/DomainMapper_Impl.hxx writerfilter/source/dmapper/DomainMapper_Impl.hxx
+index f4dfaf0..ef4ed26 100644
+--- writerfilter/source/dmapper/DomainMapper_Impl.hxx
++++ writerfilter/source/dmapper/DomainMapper_Impl.hxx
+@@ -51,6 +51,7 @@
+ #include <LFOTable.hxx>
+ #include <StyleSheetTable.hxx>
+ #include <ThemeTable.hxx>
++#include <SettingsTable.hxx>
+ #include <GraphicImport.hxx>
+ #include <OLEHandler.hxx>
+ #include <map>
+@@ -225,6 +226,15 @@ struct BookmarkInsertPosition
+ {}
+ };
+
++struct RedlineParams
++{
++ ::rtl::OUString m_sAuthor;
++ ::rtl::OUString m_sDate;
++ ::rtl::OUString m_sId;
++ sal_Int32 m_nToken;
++};
++typedef boost::shared_ptr< RedlineParams > RedlineParamsPtr;
++
+ /*-- 03.03.2008 11:01:38---------------------------------------------------
+
+ -----------------------------------------------------------------------*/
+@@ -293,6 +303,7 @@ private:
+ StyleSheetTablePtr m_pStyleSheetTable;
+ ThemeTablePtr m_pThemeTable;
+ GraphicImportPtr m_pGraphicImport;
++ SettingsTablePtr m_pSettingsTable;
+
+ PropertyMapPtr m_pTopContext;
+
+@@ -311,11 +322,11 @@ private:
+ ::com::sun::star::uno::Reference< text::XTextRange > m_xFrameStartRange;
+ ::com::sun::star::uno::Reference< text::XTextRange > m_xFrameEndRange;
+
+- //current redline
+- ::rtl::OUString m_CurrentRedlineAuthor;
+- ::rtl::OUString m_CurrentRedlineDate;
+- ::rtl::OUString m_CurrentRedlineId;
+- sal_Int32 n_CurrentRedlineToken;
++ // Redline stack
++ std::vector< RedlineParamsPtr > m_aRedlines;
++ RedlineParamsPtr m_pParaRedline;
++ bool m_bIsParaChange;
++
+
+ //shape import
+ ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > m_xTemporaryShape;
+@@ -357,6 +368,15 @@ public:
+ }
+ void SetDocumentSettingsProperty( const ::rtl::OUString& rPropName, const uno::Any& rValue );
+
++ void CreateRedline( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > xRange, RedlineParamsPtr pRedline );
++
++ void CheckParaRedline( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > xRange );
++
++ void CheckRedline( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextRange > xRange );
++
++ void StartParaChange( );
++ void EndParaChange( );
++
+ void deferBreak( BreakType deferredBreakType );
+ bool isBreakDeferred( BreakType deferredBreakType );
+ void clearDeferredBreaks();
+@@ -412,6 +432,13 @@ public:
+ return m_pThemeTable;
+ }
+
++ SettingsTablePtr GetSettingsTable( )
++ {
++ if ( !m_pSettingsTable )
++ m_pSettingsTable.reset( new SettingsTable );
++ return m_pSettingsTable;
++ }
++
+ GraphicImportPtr GetGraphicImport( GraphicImportType eGraphicImportType );
+ void ResetGraphicImport();
+ // this method deletes the current m_pGraphicImport after import
+@@ -495,19 +522,17 @@ public:
+ );
+ bool ExecuteFrameConversion();
+
+- ::rtl::OUString GetCurrentRedlineAuthor() const { return m_CurrentRedlineAuthor; }
+- void SetCurrentRedlineAuthor( const ::rtl::OUString& rSet ) { m_CurrentRedlineAuthor = rSet; }
+-
+- ::rtl::OUString GetCurrentRedlineDate() const { return m_CurrentRedlineDate; }
+- void SetCurrentRedlineDate( const ::rtl::OUString& rSet ) { m_CurrentRedlineDate = rSet; }
+-
+- ::rtl::OUString GetCurrentRedlineId() const { return m_CurrentRedlineId; }
+- void SetCurrentRedlineId( const ::rtl::OUString& rSet ) { m_CurrentRedlineId = rSet; }
++ void AddNewRedline( );
+
+- sal_Int32 GetCurrentRedlineToken() const { return n_CurrentRedlineToken; }
+- void SetCurrentRedlineToken(sal_Int32 nSet) { n_CurrentRedlineToken = nSet; }
++ RedlineParamsPtr GetTopRedline( );
+
+- void ResetRedlineProperties();
++ sal_Int32 GetCurrentRedlineToken( );
++ void SetCurrentRedlineAuthor( rtl::OUString sAuthor );
++ void SetCurrentRedlineDate( rtl::OUString sDate );
++ void SetCurrentRedlineId( rtl::OUString sId );
++ void SetCurrentRedlineToken( sal_Int32 nToken );
++ void ResetRedlineProperties( );
++ void ResetParaRedline( );
+
+ };
+ } //namespace dmapper
+diff --git writerfilter/source/dmapper/makefile.mk writerfilter/source/dmapper/makefile.mk
+index c1fcc36..e7235cc 100644
+--- writerfilter/source/dmapper/makefile.mk
++++ writerfilter/source/dmapper/makefile.mk
+@@ -63,7 +63,8 @@ SLOFILES= $(SLO)$/BorderHandler.obj \
+ $(SLO)$/PropertyIds.obj \
+ $(SLO)$/StyleSheetTable.obj \
+ $(SLO)$/TDefTableHandler.obj \
+- $(SLO)$/ThemeTable.obj \
++ $(SLO)$/ThemeTable.obj \
++ $(SLO)$/SettingsTable.obj \
+ $(SLO)$/ModelEventListener.obj\
+ $(SLO)$/OLEHandler.obj
+
+diff --git writerfilter/source/ooxml/model.xml writerfilter/source/ooxml/model.xml
+index 399755a..b6ab5a7 100644
+--- writerfilter/source/ooxml/model.xml
++++ writerfilter/source/ooxml/model.xml
+@@ -16575,15 +16575,18 @@
+ </element>
+ </optional>
+ </define>
++ <define name="CT_ParaTrackChange">
++ <ref name="CT_TrackChange"/>
++ </define>
+ <define name="EG_ParaRPrTrackChanges">
+ <optional>
+ <element name="ins">
+- <ref name="CT_TrackChange"/>
++ <ref name="CT_ParaTrackChange"/>
+ </element>
+ </optional>
+ <optional>
+ <element name="del">
+- <ref name="CT_TrackChange"/>
++ <ref name="CT_ParaTrackChange"/>
+ </element>
+ </optional>
+ <optional>
+@@ -21638,6 +21641,11 @@
+ <attribute name="author" tokenid="ooxml:CT_TrackChange_author"/>
+ <attribute name="date" tokenid="ooxml:CT_TrackChange_date"/>
+ </resource>
++ <resource name="CT_ParaTrackChange" resource="Properties">
++ <action name="start" action="tokenproperty"/>
++ <action name="start" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:paratrackchange"/>
++ <action name="start" action="clearProps"/>
++ </resource>
+ <resource name="CT_CellMergeTrackChange" resource="Properties">
+ <attribute name="vMerge" tokenid="ooxml:CT_CellMergeTrackChange_vMerge"/>
+ <attribute name="vMergeOrig" tokenid="ooxml:CT_CellMergeTrackChange_vMergeOrig"/>
+@@ -21702,6 +21710,7 @@
+ <action name="start" action="tokenproperty"/>
+ <action name="start" action="propagateCharacterPropertiesAsSet" sendtokenid="ooxml:trackchange"/>
+ <action name="start" action="clearProps"/>
++ <action name="end" action="mark" sendtokenid="ooxml:endtrackchange"/>
+ </resource>
+ <resource name="CT_NumPr" resource="Properties">
+ <kind name="paragraph"/>
+@@ -22272,6 +22281,8 @@
+ <resource name="CT_RPrOriginal" resource="Properties"/>
+ <resource name="CT_ParaRPrOriginal" resource="Properties"/>
+ <resource name="CT_ParaRPr" resource="Properties">
++ <element name="ins" tokenid="ooxml:CT_ParaRPr_ins"/>
++ <element name="del" tokenid="ooxml:CT_ParaRPr_del"/>
+ <element name="rPrChange" tokenid="ooxml:CT_ParaRPr_rPrChange"/>
+ </resource>
+ <resource name="ST_RubyAlign" resource="List" generated="yes">
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]