diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-01-22 09:55:50 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-01-22 09:37:08 +0100 |
commit | e9262376f0acbe67a544d7e391992c9943ed6d8b (patch) | |
tree | 690d30eaa5172f3188827091927e46a11708b508 /reportdesign/source | |
parent | 6f6a64952d9aa4826e83ad94c2a6de2344cbe2de (diff) |
use fastparser for XMLFontStylesContext
Change-Id: I7b273cdc0f90f2a8c9527d1f19fed97672a74741
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87175
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'reportdesign/source')
-rw-r--r-- | reportdesign/source/filter/xml/xmlfilter.cxx | 30 | ||||
-rw-r--r-- | reportdesign/source/filter/xml/xmlfilter.hxx | 3 |
2 files changed, 16 insertions, 17 deletions
diff --git a/reportdesign/source/filter/xml/xmlfilter.cxx b/reportdesign/source/filter/xml/xmlfilter.cxx index fcd130727dae..46ed887f092c 100644 --- a/reportdesign/source/filter/xml/xmlfilter.cxx +++ b/reportdesign/source/filter/xml/xmlfilter.cxx @@ -621,8 +621,16 @@ public: const css::uno::Reference< css::xml::sax::XFastAttributeList >& ) override {} virtual css::uno::Reference< css::xml::sax::XFastContextHandler > SAL_CALL createFastChildContext( - sal_Int32 /*nElement*/, const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/ ) override + sal_Int32 nElement, const css::uno::Reference< css::xml::sax::XFastAttributeList >& /*xAttrList*/ ) override { + ORptFilter & rImport(static_cast<ORptFilter&>(GetImport())); + switch (nElement) + { + case XML_ELEMENT(OFFICE, XML_FONT_FACE_DECLS): + rImport.GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP ); + return rImport.CreateFontDeclsContext(); + break; + } return nullptr; } @@ -644,10 +652,6 @@ public: // don't use the autostyles from the styles-document for the progress pContext = rImport.CreateStylesContext(rLocalName, xAttrList, true); break; - case XML_TOK_CONTENT_FONTDECLS: - rImport.GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP ); - pContext = rImport.CreateFontDeclsContext(rLocalName, xAttrList); - break; case XML_TOK_CONTENT_MASTERSTYLES: { SvXMLStylesContext* pStyleContext = new RptMLMasterStylesContext_Impl(rImport, nPrefix, rLocalName, xAttrList);//CreateMasterStylesContext( rLocalName,xAttrList ); @@ -709,6 +713,10 @@ public: case XML_ELEMENT(OFFICE, XML_BODY): return new RptXMLDocumentBodyContext(rImport); break; + case XML_ELEMENT(OFFICE, XML_FONT_FACE_DECLS): + rImport.GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP ); + return rImport.CreateFontDeclsContext(); + break; } return nullptr; } @@ -727,10 +735,6 @@ public: rImport.GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP ); pContext = rImport.CreateStylesContext(rLocalName, xAttrList, true); break; - case XML_TOK_CONTENT_FONTDECLS: - rImport.GetProgressBarHelper()->Increment( PROGRESS_BAR_STEP ); - pContext = rImport.CreateFontDeclsContext(rLocalName, xAttrList); - break; default: break; } @@ -1023,14 +1027,10 @@ SvXMLImportContext* ORptFilter::CreateStylesContext(const OUString& rLocalName, return pContext; } -SvXMLImportContext *ORptFilter::CreateFontDeclsContext( - const OUString& rLocalName, - const uno::Reference< xml::sax::XAttributeList > & xAttrList ) +SvXMLImportContext *ORptFilter::CreateFontDeclsContext() { XMLFontStylesContext *pFSContext = - new XMLFontStylesContext( *this, XML_NAMESPACE_OFFICE, - rLocalName, xAttrList, - osl_getThreadTextEncoding() ); + new XMLFontStylesContext( *this, osl_getThreadTextEncoding() ); SetFontDecls( pFSContext ); return pFSContext; } diff --git a/reportdesign/source/filter/xml/xmlfilter.hxx b/reportdesign/source/filter/xml/xmlfilter.hxx index 6257832567fa..ec8ba1509e67 100644 --- a/reportdesign/source/filter/xml/xmlfilter.hxx +++ b/reportdesign/source/filter/xml/xmlfilter.hxx @@ -96,8 +96,7 @@ public: SvXMLImportContext* CreateStylesContext(const OUString& rLocalName, const Reference< XAttributeList>& xAttrList, bool bIsAutoStyle ); SvXMLImportContext* CreateMetaContext(const sal_Int32 nElement); - SvXMLImportContext* CreateFontDeclsContext(const OUString& rLocalName, - const css::uno::Reference< css::xml::sax::XAttributeList > & xAttrList ); + SvXMLImportContext* CreateFontDeclsContext(); protected: // SvXMLImport virtual SvXMLImportContext *CreateFastContext( sal_Int32 nElement, |