summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorAndre Fischer <af@apache.org>2012-06-21 10:29:05 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-05-23 16:48:07 +0100
commitaab697c7b64e79dd9102395ae1a8fe9025995a73 (patch)
treed8aa1aad0bbbab1946c55a1f37d576e7c4c6b991 /sc
parentaac817bca6951a42bfe6c8fbfd86163190f96997 (diff)
Resolves: #i119903# Alternative text for form control t import/export
Patch by: Jianyuan Li review by: Andre Fischer (cherry picked from commit 0ecc381c85bd4192add692d26fc60ba8e6341fd9) Conflicts: filter/source/msfilter/msdffimp.cxx sc/source/filter/excel/xiescher.cxx sc/source/filter/inc/xiescher.hxx svx/inc/svx/msdffdef.hxx Change-Id: Iac7282e50fd86244381ca174ba3f906aab89c7d9
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/excel/xeescher.cxx7
-rw-r--r--sc/source/filter/excel/xiescher.cxx15
2 files changed, 22 insertions, 0 deletions
diff --git a/sc/source/filter/excel/xeescher.cxx b/sc/source/filter/excel/xeescher.cxx
index b391a07689df..6acbf4ded5eb 100644
--- a/sc/source/filter/excel/xeescher.cxx
+++ b/sc/source/filter/excel/xeescher.cxx
@@ -686,6 +686,13 @@ XclExpTbxControlObj::XclExpTbxControlObj( XclExpObjectManager& rRoot, Reference<
if( aCtrlProp.GetProperty( aCtrlName, "Name" ) && !aCtrlName.isEmpty() )
aPropOpt.AddOpt( ESCHER_Prop_wzName, aCtrlName );
+ //Export description as alt text
+ if( SdrObject* pSdrObj = SdrObject::getSdrObjectFromXShape( xShape ) )
+ {
+ String aAltTxt( pSdrObj->GetDescription(), 0, MSPROP_DESCRIPTION_MAX_LEN );
+ aPropOpt.AddOpt( ESCHER_Prop_wzDescription, aAltTxt );
+ }
+
// write DFF property set to stream
aPropOpt.Commit( mrEscherEx.GetStream() );
diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx
index 7acd77e754e4..c358c1fa43eb 100644
--- a/sc/source/filter/excel/xiescher.cxx
+++ b/sc/source/filter/excel/xiescher.cxx
@@ -107,6 +107,7 @@
#include <comphelper/mediadescriptor.hxx>
#include <sfx2/docfile.hxx>
+using ::com::sun::star::uno::makeAny;
using ::com::sun::star::uno::Any;
using ::com::sun::star::uno::Exception;
using ::com::sun::star::uno::Reference;
@@ -1997,6 +1998,20 @@ void XclImpTbxObjBase::ConvertLabel( ScfPropertySet& rPropSet ) const
aLabel.Insert( '~', nPos );
}
rPropSet.SetStringProperty( "Label", aLabel );
+
+ //Excel Alt text <==> Aoo description
+ //For TBX control, if user does not operate alt text, alt text will be set label text as default value in Excel.
+ //In this case, DFF_Prop_wzDescription will not be set in excel file.
+ //So In the end of SvxMSDffManager::ImportShape, description will not be set. But actually in excel,
+ //the alt text is the label value. So here set description as label text first which is called before ImportShape.
+ Reference< ::com::sun::star::beans::XPropertySet > xPropset( mxShape, UNO_QUERY );
+ try{
+ if(xPropset.is())
+ xPropset->setPropertyValue( "Description", makeAny(::rtl::OUString(aLabel)) );
+ }catch( ... )
+ {
+ OSL_TRACE( " Can't set a default text for TBX Control ");
+ }
}
ConvertFont( rPropSet );
}