diff options
Diffstat (limited to 'writerfilter/source/dmapper')
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 5 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.cxx | 11 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper_Impl.hxx | 7 | ||||
-rw-r--r-- | writerfilter/source/dmapper/PropertyMap.cxx | 6 |
4 files changed, 22 insertions, 7 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index 3eed3cd043c4..37fbfd4e2d40 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -97,11 +97,12 @@ struct _PageSz DomainMapper::DomainMapper( const uno::Reference< uno::XComponentContext >& xContext, uno::Reference< io::XInputStream > xInputStream, uno::Reference< lang::XComponent > xModel, - SourceDocumentType eDocumentType) : + SourceDocumentType eDocumentType, + bool bIsNewDoc ) : LoggedProperties(dmapper_logger, "DomainMapper"), LoggedTable(dmapper_logger, "DomainMapper"), LoggedStream(dmapper_logger, "DomainMapper"), - m_pImpl( new DomainMapper_Impl( *this, xContext, xModel, eDocumentType )), + m_pImpl( new DomainMapper_Impl( *this, xContext, xModel, eDocumentType, bIsNewDoc )), mnBackgroundColor(0), mbIsHighlightSet(false) { // #i24363# tab stops relative to indent diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx index ee6e2914f8ea..951d500bced5 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx @@ -184,7 +184,8 @@ DomainMapper_Impl::DomainMapper_Impl( DomainMapper& rDMapper, uno::Reference < uno::XComponentContext > xContext, uno::Reference< lang::XComponent > xModel, - SourceDocumentType eDocumentType) : + SourceDocumentType eDocumentType, + bool bIsNewDoc) : m_eDocumentType( eDocumentType ), m_rDMapper( rDMapper ), m_xTextDocument( xModel, uno::UNO_QUERY ), @@ -209,7 +210,8 @@ DomainMapper_Impl::DomainMapper_Impl( m_bIsFirstParaInSection( true ), m_bIsLastParaInSection( false ), m_bParaSectpr( false ), - m_bUsingEnhancedFields( false ) + m_bUsingEnhancedFields( false ), + m_bIsNewDoc(bIsNewDoc) { appendTableManager( ); GetBodyText(); @@ -3679,6 +3681,11 @@ SectionPropertyMap * DomainMapper_Impl::GetSectionContext() return pSectionContext; } +bool DomainMapper_Impl::IsNewDoc() +{ + return m_bIsNewDoc; +} + }} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.hxx b/writerfilter/source/dmapper/DomainMapper_Impl.hxx index 0cfee566e621..6208f9c3ed6f 100644 --- a/writerfilter/source/dmapper/DomainMapper_Impl.hxx +++ b/writerfilter/source/dmapper/DomainMapper_Impl.hxx @@ -369,12 +369,15 @@ private: throw(::com::sun::star::uno::Exception); ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > GetDocumentSettings(); + bool m_bIsNewDoc; + public: DomainMapper_Impl( DomainMapper& rDMapper, uno::Reference < uno::XComponentContext > xContext, uno::Reference< lang::XComponent > xModel, - SourceDocumentType eDocumentType ); + SourceDocumentType eDocumentType, + bool bIsNewDoc ); DomainMapper_Impl(); virtual ~DomainMapper_Impl(); @@ -625,6 +628,8 @@ public: SectionPropertyMap * GetSectionContext(); /// If the current paragraph has a numbering style associated, this method returns its character style com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> GetCurrentNumberingCharStyle(); + /// If we're importing into a new document, or just pasting to an existing one. + bool IsNewDoc(); }; } //namespace dmapper } //namespace writerfilter diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx index f26e9ed2a0d1..60de3eb4b3a1 100644 --- a/writerfilter/source/dmapper/PropertyMap.cxx +++ b/writerfilter/source/dmapper/PropertyMap.cxx @@ -980,7 +980,8 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl ) operator[](PropertyDefinition(PROP_GRID_MODE, false)) = uno::makeAny(nGridMode); - _ApplyProperties( xFollowPageStyle ); + if (rDM_Impl.IsNewDoc()) + _ApplyProperties( xFollowPageStyle ); //todo: creating a "First Page" style depends on HasTitlePage und _fFacingPage_ if( m_bTitlePage ) @@ -989,7 +990,8 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl ) PrepareHeaderFooterProperties( true ); uno::Reference< beans::XPropertySet > xFirstPageStyle = GetPageStyle( rDM_Impl.GetPageStyles(), rDM_Impl.GetTextFactory(), true ); - _ApplyProperties( xFirstPageStyle ); + if (rDM_Impl.IsNewDoc()) + _ApplyProperties( xFirstPageStyle ); sal_Int32 nPaperBin = m_nFirstPaperBin >= 0 ? m_nFirstPaperBin : m_nPaperBin >= 0 ? m_nPaperBin : 0; if( nPaperBin ) |