From 84a5720f9ae42b98db99e0affd04b7d16ac742cd Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 18 Jul 2014 14:36:15 +0200 Subject: oox: write Company in docProps/app.xml Change-Id: I8474b8ec7415b4d8e067343295ea985319c34834 --- oox/source/core/xmlfilterbase.cxx | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'oox') diff --git a/oox/source/core/xmlfilterbase.cxx b/oox/source/core/xmlfilterbase.cxx index af0567b5c8e1..acc8805ab330 100644 --- a/oox/source/core/xmlfilterbase.cxx +++ b/oox/source/core/xmlfilterbase.cxx @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -637,7 +638,6 @@ writeAppProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProp writeElement( pAppProps, XML_Template, xProperties->getTemplateName() ); #ifdef OOXTODO writeElement( pAppProps, XML_Manager, "manager" ); - writeElement( pAppProps, XML_Company, "company" ); writeElement( pAppProps, XML_Pages, "pages" ); writeElement( pAppProps, XML_Words, "words" ); writeElement( pAppProps, XML_Characters, "characters" ); @@ -681,6 +681,21 @@ writeAppProperties( XmlFilterBase& rSelf, Reference< XDocumentProperties > xProp } } + uno::Reference xUserDefinedProperties(xProperties->getUserDefinedProperties(), uno::UNO_QUERY); + const uno::Sequence aUserDefinedProperties = xUserDefinedProperties->getPropertyValues(); + for (sal_Int32 i = 0; i < aUserDefinedProperties.getLength(); ++i) + { + if (aUserDefinedProperties[i].Name == "Company") + { + OUString aValue; + if (aUserDefinedProperties[i].Value >>= aValue) + { + writeElement(pAppProps, XML_Company, aValue); + break; + } + } + } + pAppProps->endElement( XML_Properties ); } -- cgit