summaryrefslogtreecommitdiff
path: root/reportdesign
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2020-01-22 09:55:50 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2020-01-22 09:37:08 +0100
commite9262376f0acbe67a544d7e391992c9943ed6d8b (patch)
tree690d30eaa5172f3188827091927e46a11708b508 /reportdesign
parent6f6a64952d9aa4826e83ad94c2a6de2344cbe2de (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')
-rw-r--r--reportdesign/source/filter/xml/xmlfilter.cxx30
-rw-r--r--reportdesign/source/filter/xml/xmlfilter.hxx3
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,