diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-02-02 12:44:03 +0100 |
---|---|---|
committer | Noel Power <noel.power@novell.com> | 2012-02-07 17:25:57 +0000 |
commit | dae8fff9289edbfda3317bd19acd233400528a95 (patch) | |
tree | 510d7f18ec147468e2d3cce537b7bf8719cd5f35 /xmloff | |
parent | c6bf0fdf82c9ba0626ea6356923d293820e75565 (diff) |
fdo#45534: ODF export: fix draw:fit-to-size
In ODF 1.1 and 1.2 this attribute is of type boolean, so only write the
new values if the extended format is selected.
(regression introduced with e479f47f7d48dbd0d701bf347b6a2d5121ba3d34)
Diffstat (limited to 'xmloff')
-rw-r--r-- | xmloff/source/draw/sdpropls.cxx | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx index 88ffa2ee9986..c5f77e5ef5d3 100644 --- a/xmloff/source/draw/sdpropls.cxx +++ b/xmloff/source/draw/sdpropls.cxx @@ -619,6 +619,15 @@ SvXMLEnumMapEntry const pXML_VerticalAlign_Enum[] = { XML_TOKEN_INVALID, 0 } }; +SvXMLEnumMapEntry const pXML_FitToSize_Enum_Odf12[] = +{ + { XML_FALSE, drawing::TextFitToSizeType_NONE }, + { XML_TRUE, drawing::TextFitToSizeType_PROPORTIONAL }, + { XML_TRUE, drawing::TextFitToSizeType_ALLLINES }, + { XML_TRUE, drawing::TextFitToSizeType_AUTOFIT }, + { XML_TOKEN_INVALID, 0 } +}; + SvXMLEnumMapEntry const pXML_FitToSize_Enum[] = { { XML_FALSE, drawing::TextFitToSizeType_NONE }, @@ -1047,7 +1056,19 @@ const XMLPropertyHandler* XMLSdPropHdlFactory::GetPropertyHandler( sal_Int32 nTy pHdl = new XMLEnumPropertyHdl( pXML_VerticalAlign_Enum, ::getCppuType((const com::sun::star::drawing::TextVerticalAdjust*)0) ); break; case XML_SD_TYPE_FITTOSIZE: - pHdl = new XMLEnumPropertyHdl( pXML_FitToSize_Enum, ::getCppuType((const com::sun::star::drawing::TextFitToSizeType*)0) ); + { + if (mpExport && (mpExport->getDefaultVersion() + <= SvtSaveOptions::ODFVER_012)) + { + pHdl = new XMLEnumPropertyHdl(pXML_FitToSize_Enum_Odf12, + ::getCppuType(static_cast<const com::sun::star::drawing::TextFitToSizeType*>(0))); + } + else + { + pHdl = new XMLEnumPropertyHdl(pXML_FitToSize_Enum, + ::getCppuType(static_cast<const com::sun::star::drawing::TextFitToSizeType*>(0))); + } + } break; case XML_SD_TYPE_MEASURE_UNIT: pHdl = new XMLEnumPropertyHdl( pXML_MeasureUnit_Enum, ::getCppuType((const sal_Int32*)0) ); |