diff options
author | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2014-02-28 14:23:32 +0100 |
---|---|---|
committer | Tomaž Vajngerl <tomaz.vajngerl@collabora.com> | 2014-02-28 20:24:38 +0100 |
commit | a783421ef0ecb53b7f4240f5a5e4116d3e9963b3 (patch) | |
tree | 6268aa3e99b714cb858d32cf3a58c9305b5e51a1 /sw | |
parent | 4b4a1b8095332a13b975553b19c4a03ce1072eaa (diff) |
ooxml export: write w:compatSettings if present in GrabBag
Change-Id: Ie5f3ba8f12ca8d5b9729c5bfa13da3b34dbfda2d
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/ww8/docxexport.cxx | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/sw/source/filter/ww8/docxexport.cxx b/sw/source/filter/ww8/docxexport.cxx index aff296f1efa3..b68368c649b3 100644 --- a/sw/source/filter/ww8/docxexport.cxx +++ b/sw/source/filter/ww8/docxexport.cxx @@ -869,7 +869,38 @@ void DocxExport::WriteSettings() FSNS( XML_w, XML_eastAsia ), OUStringToOString( aValues[1], RTL_TEXTENCODING_UTF8 ).getStr(), FSNS( XML_w, XML_bidi ), OUStringToOString( aValues[2], RTL_TEXTENCODING_UTF8 ).getStr(), FSEND ); - break; + } + else if ( propList[i].Name == "CompatSettings" ) + { + pFS->startElementNS( XML_w, XML_compat, FSEND ); + + uno::Sequence< beans::PropertyValue > aCompatSettingsSequence; + propList[i].Value >>= aCompatSettingsSequence; + for(sal_Int32 j=0; j < aCompatSettingsSequence.getLength(); ++j) + { + uno::Sequence< beans::PropertyValue > aCompatSetting; + aCompatSettingsSequence[j].Value >>= aCompatSetting; + OUString aName; + OUString aUri; + OUString aValue; + + for(sal_Int32 k=0; k < aCompatSetting.getLength(); ++k) + { + if( aCompatSetting[k].Name == "name" ) + aCompatSetting[k].Value >>= aName; + else if( aCompatSetting[k].Name == "uri" ) + aCompatSetting[k].Value >>= aUri; + else if( aCompatSetting[k].Name == "val" ) + aCompatSetting[k].Value >>= aValue; + } + pFS->singleElementNS( XML_w, XML_compatSetting, + FSNS( XML_w, XML_name ), OUStringToOString(aName, RTL_TEXTENCODING_UTF8).getStr(), + FSNS( XML_w, XML_uri ), OUStringToOString(aUri, RTL_TEXTENCODING_UTF8).getStr(), + FSNS( XML_w, XML_val ), OUStringToOString(aValue, RTL_TEXTENCODING_UTF8).getStr(), + FSEND); + } + + pFS->endElementNS( XML_w, XML_compat ); } } } |