summaryrefslogtreecommitdiff
path: root/writerfilter
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2014-08-28 17:05:14 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-08-28 17:19:27 +0200
commit4034d96aeee07f069a6fb9e0445436577a6065e3 (patch)
tree3324638473c0ee89d1e93671f486d44c0fb8f0c9 /writerfilter
parent7890a7263f8a6740582bc58328c76613818fe2d5 (diff)
writerfilter: respect WinWordToWriter config setting
The binary filter uses this setting to decide if the embedded object is converted into a native Writer document (so it can be edited) or not (so it's preserved better), let's do the same. Change-Id: I47b48867b3d0abf6cd8de2430513587a6776461e
Diffstat (limited to 'writerfilter')
-rw-r--r--writerfilter/source/dmapper/DomainMapper_Impl.cxx2
-rw-r--r--writerfilter/source/dmapper/OLEHandler.cxx5
-rw-r--r--writerfilter/source/dmapper/OLEHandler.hxx2
3 files changed, 5 insertions, 4 deletions
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index cbb502454c45..9a90ce7a1f27 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1319,7 +1319,7 @@ void DomainMapper_Impl::appendOLE( const OUString& rStreamName, OLEHandlerPtr pO
uno::Reference< text::XTextContent > xOLE( m_xTextFactory->createInstance(sEmbeddedService), uno::UNO_QUERY_THROW );
uno::Reference< beans::XPropertySet > xOLEProperties(xOLE, uno::UNO_QUERY_THROW);
- OUString aCLSID = pOLEHandler->getCLSID();
+ OUString aCLSID = pOLEHandler->getCLSID(m_xComponentContext);
if (aCLSID.isEmpty())
xOLEProperties->setPropertyValue(PropertyNameSupplier::GetPropertyNameSupplier().GetName( PROP_STREAM_NAME ),
uno::makeAny( rStreamName ));
diff --git a/writerfilter/source/dmapper/OLEHandler.cxx b/writerfilter/source/dmapper/OLEHandler.cxx
index 7e6ee6dffd1b..addb2b2bdd8c 100644
--- a/writerfilter/source/dmapper/OLEHandler.cxx
+++ b/writerfilter/source/dmapper/OLEHandler.cxx
@@ -25,6 +25,7 @@
#include <ooxml/resourceids.hxx>
#include <rtl/ustring.hxx>
#include <unotools/mediadescriptor.hxx>
+#include <officecfg/Office/Common.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/document/XEmbeddedObjectResolver.hpp>
@@ -247,11 +248,11 @@ void OLEHandler::importStream(uno::Reference<uno::XComponentContext> xComponentC
saveInteropProperties(xTextDocument, xPropertySet->getPropertyValue("StreamName").get<OUString>(), m_aURL);
}
-OUString OLEHandler::getCLSID()
+OUString OLEHandler::getCLSID(uno::Reference<uno::XComponentContext> xComponentContext) const
{
OUString aRet;
- if (m_sProgId == "Word.Document.12")
+ if (officecfg::Office::Common::Filter::Microsoft::Import::WinWordToWriter::get(xComponentContext) && m_sProgId == "Word.Document.12")
aRet = "8BC6B165-B1B2-4EDD-aa47-dae2ee689dd6";
return aRet;
diff --git a/writerfilter/source/dmapper/OLEHandler.hxx b/writerfilter/source/dmapper/OLEHandler.hxx
index 64677bb560a0..551b8df4784d 100644
--- a/writerfilter/source/dmapper/OLEHandler.hxx
+++ b/writerfilter/source/dmapper/OLEHandler.hxx
@@ -94,7 +94,7 @@ public:
css::uno::Reference<css::text::XTextContent> xOLE);
/// Get the CLSID of the OLE object, in case we can find one based on m_sProgId.
- OUString getCLSID();
+ OUString getCLSID(css::uno::Reference<css::uno::XComponentContext> xComponentContext) const;
OUString copyOLEOStream( ::com::sun::star::uno::Reference< ::com::sun::star::text::XTextDocument > const & xTextDocument );