summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@frugalware.org>2011-07-25 12:02:11 +0200
committerMiklos Vajna <vmiklos@frugalware.org>2011-07-25 12:02:59 +0200
commitbcc8fe1b7fd77af60f1c077ea65102ca73b446c4 (patch)
treef8eddee2b8d491019bd562111371c08417d9a353
parent45f2d2ed3a0f70165cf44434002fc838f60799a6 (diff)
RTF: emit row properties at the end of the row as well
The spec suggests this, but the old parser can't cope with it, so enable it only when the new parser is active.
-rw-r--r--sw/source/filter/ww8/rtfattributeoutput.cxx15
1 files changed, 15 insertions, 0 deletions
diff --git a/sw/source/filter/ww8/rtfattributeoutput.cxx b/sw/source/filter/ww8/rtfattributeoutput.cxx
index 5c52d4cc49..b451bd9e5b 100644
--- a/sw/source/filter/ww8/rtfattributeoutput.cxx
+++ b/sw/source/filter/ww8/rtfattributeoutput.cxx
@@ -92,6 +92,7 @@
#include <svx/fmglob.hxx>
#include <svx/svdouno.hxx>
#include <filter/msfilter/msoleexp.hxx>
+#include <svtools/miscopt.hxx>
#include <docufld.hxx>
#include <flddropdown.hxx>
@@ -926,6 +927,19 @@ void RtfAttributeOutput::StartTableRow( ww8::WW8TableNodeInfoInner::Pointer_t pT
TableDefinition(pTableTextNodeInfoInner);
+ SvtMiscOptions aMiscOptions;
+ if (aMiscOptions.IsExperimentalMode())
+ {
+ m_aTables.push_back(m_aRowDefs.toString());
+ // Emit row properties at the start of the row as well for non-nested
+ // tables, to support old readers.
+ if ( nCurrentDepth <= 1 )
+ m_rExport.Strm() << m_aRowDefs.makeStringAndClear();
+ m_aRowDefs.setLength(0);
+ return;
+ }
+ else
+ {
if (!m_bLastTable)
m_aTables.push_back(m_aRowDefs.makeStringAndClear());
@@ -933,6 +947,7 @@ void RtfAttributeOutput::StartTableRow( ww8::WW8TableNodeInfoInner::Pointer_t pT
if ( nCurrentDepth > 1 )
return;
m_rExport.Strm() << m_aRowDefs.makeStringAndClear();
+ }
}
void RtfAttributeOutput::StartTableCell( ww8::WW8TableNodeInfoInner::Pointer_t /*pTableTextNodeInfoInner*/ )