summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSun Ying <sunying@apache.org>2012-08-16 02:13:43 +0000
committerXisco Fauli <anistenis@gmail.com>2013-04-01 23:16:22 +0200
commit460e17a1c7dae290ae9375e78820ec1257fe3942 (patch)
tree0919c6adccdc6a5cf255f1fe0c790d9e82357dfd
parenta9d8b4dfc103b991de6c4d99914a39acef93ad23 (diff)
#119875# fix vertical text direction in table cell change when save .ppt file
Reported by: Li Feng Wang Patch by: Ying Sun Review by: Jian Yuan Li
-rw-r--r--filter/source/msfilter/svdfppt.cxx10
1 files changed, 10 insertions, 0 deletions
diff --git a/filter/source/msfilter/svdfppt.cxx b/filter/source/msfilter/svdfppt.cxx
index 200e7b475389..d65254ba0be7 100644
--- a/filter/source/msfilter/svdfppt.cxx
+++ b/filter/source/msfilter/svdfppt.cxx
@@ -7272,6 +7272,16 @@ void ApplyCellAttributes( const SdrObject* pObj, Reference< XCell >& xCell )
eVA = drawing::TextVerticalAdjust_BOTTOM;
xPropSet->setPropertyValue( sTextVerticalAdjust, Any( eVA ) );
+ //set textHorizontalAdjust and TextWritingMode attr
+ const sal_Int32 eHA(((const SdrTextLeftDistItem&)pObj->GetMergedItem(SDRATTR_TEXT_HORZADJUST)).GetValue());
+ const SvxFrameDirection eDirection = (const SvxFrameDirection)((( const SvxFrameDirectionItem&)pObj->GetMergedItem(EE_PARA_WRITINGDIR)).GetValue());
+ static const rtl::OUString sHorizontalAdjust( RTL_CONSTASCII_USTRINGPARAM( "TextHorizontalAdjust" ) );
+ static const rtl::OUString sWritingMode( RTL_CONSTASCII_USTRINGPARAM("TextWritingMode") );
+ xPropSet->setPropertyValue( sHorizontalAdjust , Any( eHA ) );
+ if ( eDirection == FRMDIR_VERT_TOP_RIGHT )
+ {//vertical writing
+ xPropSet->setPropertyValue( sWritingMode , Any( ::com::sun::star::text::WritingMode_TB_RL ) );
+ }
SfxItemSet aSet( pObj->GetMergedItemSet() );
XFillStyle eFillStyle(((XFillStyleItem&)pObj->GetMergedItem( XATTR_FILLSTYLE )).GetValue());
::com::sun::star::drawing::FillStyle eFS( com::sun::star::drawing::FillStyle_NONE );