summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@frugalware.org>2011-08-03 16:27:13 +0200
committerMiklos Vajna <vmiklos@frugalware.org>2011-08-03 16:27:13 +0200
commit8aeef053b0b0c76817b531c46f3043afb25c772a (patch)
treef7e2ed050e261a0503de49fdf9d742c803b54ef4
parentf526eddfa4feaf02461b3f218eeed36e9004f948 (diff)
RtfFilter::filter: always do an import, unless a source document is given
-rw-r--r--writerfilter/source/filter/RtfFilter.cxx69
1 files changed, 33 insertions, 36 deletions
diff --git a/writerfilter/source/filter/RtfFilter.cxx b/writerfilter/source/filter/RtfFilter.cxx
index 3c326d98b..e526d3656 100644
--- a/writerfilter/source/filter/RtfFilter.cxx
+++ b/writerfilter/source/filter/RtfFilter.cxx
@@ -69,53 +69,50 @@ sal_Bool RtfFilter::filter( const uno::Sequence< beans::PropertyValue >& aDescri
xExprtr->setSourceDocument(m_xSrcDoc);
return xFltr->filter(aDescriptor);
}
- else if ( m_xDstDoc.is() )
+
+ SvtMiscOptions aMiscOptions;
+ if (aMiscOptions.IsExperimentalMode())
{
- SvtMiscOptions aMiscOptions;
- if (aMiscOptions.IsExperimentalMode())
- {
- MediaDescriptor aMediaDesc( aDescriptor );
+ MediaDescriptor aMediaDesc( aDescriptor );
#ifdef DEBUG_IMPORT
- OUString sURL = aMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_URL(), OUString() );
- ::std::string sURLc = OUStringToOString(sURL, RTL_TEXTENCODING_ASCII_US).getStr();
+ OUString sURL = aMediaDesc.getUnpackedValueOrDefault( MediaDescriptor::PROP_URL(), OUString() );
+ ::std::string sURLc = OUStringToOString(sURL, RTL_TEXTENCODING_ASCII_US).getStr();
- writerfilter::TagLogger::Pointer_t dmapperLogger
+ writerfilter::TagLogger::Pointer_t dmapperLogger
(writerfilter::TagLogger::getInstance("DOMAINMAPPER"));
- dmapperLogger->setFileName(sURLc);
- dmapperLogger->startDocument();
+ dmapperLogger->setFileName(sURLc);
+ dmapperLogger->startDocument();
#endif
- uno::Reference< io::XInputStream > xInputStream;
+ uno::Reference< io::XInputStream > xInputStream;
- aMediaDesc.addInputStream();
- aMediaDesc[ MediaDescriptor::PROP_INPUTSTREAM() ] >>= xInputStream;
+ aMediaDesc.addInputStream();
+ aMediaDesc[ MediaDescriptor::PROP_INPUTSTREAM() ] >>= xInputStream;
- uno::Reference<frame::XFrame> xFrame = aMediaDesc.getUnpackedValueOrDefault(MediaDescriptor::PROP_FRAME(),
- uno::Reference<frame::XFrame>());
+ uno::Reference<frame::XFrame> xFrame = aMediaDesc.getUnpackedValueOrDefault(MediaDescriptor::PROP_FRAME(),
+ uno::Reference<frame::XFrame>());
- writerfilter::Stream::Pointer_t pStream(
- new writerfilter::dmapper::DomainMapper(m_xContext, xInputStream, m_xDstDoc, writerfilter::dmapper::DOCUMENT_RTF));
- writerfilter::rtftok::RTFDocument::Pointer_t const pDocument(
- writerfilter::rtftok::RTFDocumentFactory::createDocument(m_xContext, xInputStream, m_xDstDoc, xFrame));
- pDocument->resolve(*pStream);
+ writerfilter::Stream::Pointer_t pStream(
+ new writerfilter::dmapper::DomainMapper(m_xContext, xInputStream, m_xDstDoc, writerfilter::dmapper::DOCUMENT_RTF));
+ writerfilter::rtftok::RTFDocument::Pointer_t const pDocument(
+ writerfilter::rtftok::RTFDocumentFactory::createDocument(m_xContext, xInputStream, m_xDstDoc, xFrame));
+ pDocument->resolve(*pStream);
#ifdef DEBUG_IMPORT
- dmapperLogger->endDocument();
+ dmapperLogger->endDocument();
#endif
- return sal_True;
- }
-
- // if not, then use the old importer
- uno::Reference< lang::XMultiServiceFactory > xMSF(m_xContext->getServiceManager(), uno::UNO_QUERY_THROW);
- uno::Reference< uno::XInterface > xIfc( xMSF->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.comp.Writer.RtfImport" ))), uno::UNO_QUERY_THROW);
- if (!xIfc.is())
- return sal_False;
- uno::Reference< document::XImporter > xImprtr(xIfc, uno::UNO_QUERY_THROW);
- uno::Reference< document::XFilter > xFltr(xIfc, uno::UNO_QUERY_THROW);
- if (!xImprtr.is() || !xFltr.is())
- return sal_False;
- xImprtr->setTargetDocument(m_xDstDoc);
- return xFltr->filter(aDescriptor);
+ return sal_True;
}
- return sal_False;
+
+ // if not, then use the old importer
+ uno::Reference< lang::XMultiServiceFactory > xMSF(m_xContext->getServiceManager(), uno::UNO_QUERY_THROW);
+ uno::Reference< uno::XInterface > xIfc( xMSF->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( "com.sun.star.comp.Writer.RtfImport" ))), uno::UNO_QUERY_THROW);
+ if (!xIfc.is())
+ return sal_False;
+ uno::Reference< document::XImporter > xImprtr(xIfc, uno::UNO_QUERY_THROW);
+ uno::Reference< document::XFilter > xFltr(xIfc, uno::UNO_QUERY_THROW);
+ if (!xImprtr.is() || !xFltr.is())
+ return sal_False;
+ xImprtr->setTargetDocument(m_xDstDoc);
+ return xFltr->filter(aDescriptor);
}
void RtfFilter::cancel( ) throw (uno::RuntimeException)