summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorAshod Nakashian <ashod.nakashian@collabora.co.uk>2018-02-06 17:46:28 -0500
committerJan Holesovsky <kendy@collabora.com>2018-02-22 11:14:07 +0100
commitf2ca825e4f76ae728d2ea9d8c2b7897174305667 (patch)
tree71073e2d1b9a0cb1876cbae0f64465e716476eb6 /writerfilter
parent274c86af3ce7e665aee232e4e9fee76fe22af0bd (diff)
oox: move putPropertiesToDocumentGrabBag to XmlFilterBase
Reviewed-on: https://gerrit.libreoffice.org/49235 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Ashod Nakashian <ashnakash@gmail.com> (cherry picked from commit e26a95360e60e0c17e70e72f36fb988bb664ddb5) Change-Id: Ic3cbabc420c7856682b889528043563622997c14 Reviewed-on: https://gerrit.libreoffice.org/50150 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Jan Holesovsky <kendy@collabora.com>
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/filter/WriterFilter.cxx36
1 files changed, 2 insertions, 34 deletions
diff --git a/writerfilter/source/filter/WriterFilter.cxx b/writerfilter/source/filter/WriterFilter.cxx
index 206640bda607..9fad4ef79fbb 100644
--- a/writerfilter/source/filter/WriterFilter.cxx
+++ b/writerfilter/source/filter/WriterFilter.cxx
@@ -34,6 +34,7 @@
#include <cppuhelper/supportsservice.hxx>
#include <dmapper/DomainMapperFactory.hxx>
#include <oox/core/filterdetect.hxx>
+#include <oox/core/xmlfilterbase.hxx>
#include <oox/helper/graphichelper.hxx>
#include <oox/ole/olestorage.hxx>
#include <oox/ole/vbaproject.hxx>
@@ -117,10 +118,6 @@ public:
OUString SAL_CALL getImplementationName() throw (uno::RuntimeException, std::exception) override;
sal_Bool SAL_CALL supportsService(const OUString& rServiceName) throw (uno::RuntimeException, std::exception) override;
uno::Sequence<OUString> SAL_CALL getSupportedServiceNames() throw (uno::RuntimeException, std::exception) override;
-
-private:
- void putPropertiesToDocumentGrabBag(const comphelper::SequenceAsHashMap& rProperties);
-
};
sal_Bool WriterFilter::filter(const uno::Sequence< beans::PropertyValue >& aDescriptor) throw (uno::RuntimeException, std::exception)
@@ -232,7 +229,7 @@ sal_Bool WriterFilter::filter(const uno::Sequence< beans::PropertyValue >& aDesc
// Adding the saved embedding document to document's grab bag
aGrabBagProperties["OOXEmbeddings"] = uno::makeAny(pDocument->getEmbeddingsList());
- putPropertiesToDocumentGrabBag(aGrabBagProperties);
+ oox::core::XmlFilterBase::putPropertiesToDocumentGrabBag(m_xDstDoc, aGrabBagProperties);
writerfilter::ooxml::OOXMLStream::Pointer_t pVBAProjectStream(writerfilter::ooxml::OOXMLDocumentFactory::createStream(pDocStream, writerfilter::ooxml::OOXMLStream::VBAPROJECT));
oox::StorageRef xVbaPrjStrg(new ::oox::ole::OleStorage(m_xContext, pVBAProjectStream->getDocumentStream(), false));
@@ -338,35 +335,6 @@ uno::Sequence<OUString> WriterFilter::getSupportedServiceNames() throw (uno::Run
return aRet;
}
-void WriterFilter::putPropertiesToDocumentGrabBag(const comphelper::SequenceAsHashMap& rProperties)
-{
- try
- {
- uno::Reference<beans::XPropertySet> xDocProps(m_xDstDoc, uno::UNO_QUERY);
- if (xDocProps.is())
- {
- uno::Reference<beans::XPropertySetInfo> xPropsInfo = xDocProps->getPropertySetInfo();
-
- const OUString aGrabBagPropName = "InteropGrabBag";
- if (xPropsInfo.is() && xPropsInfo->hasPropertyByName(aGrabBagPropName))
- {
- // get existing grab bag
- comphelper::SequenceAsHashMap aGrabBag(xDocProps->getPropertyValue(aGrabBagPropName));
-
- // put the new items
- aGrabBag.update(rProperties);
-
- // put it back to the document
- xDocProps->setPropertyValue(aGrabBagPropName, uno::Any(aGrabBag.getAsConstPropertyValueList()));
- }
- }
- }
- catch (const uno::Exception&)
- {
- SAL_WARN("writerfilter","Failed to save documents grab bag");
- }
-}
-
extern "C" SAL_DLLPUBLIC_EXPORT uno::XInterface* SAL_CALL com_sun_star_comp_Writer_WriterFilter_get_implementation(uno::XComponentContext* component, uno::Sequence<uno::Any> const&)
{
return cppu::acquire(new WriterFilter(component));