From 5924454a867bd500fdc696bb9939c84425c5e025 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Mon, 12 Dec 2011 19:40:38 +0100 Subject: slideshow: play back embedded media: The slideshow uses the UNO API to access the drawing objects, so add a property to get the temp file URL from the media object. --- svx/inc/svx/unoshprp.hxx | 6 +++++- svx/source/unodraw/unoprov.cxx | 3 ++- svx/source/unodraw/unoshap4.cxx | 9 +++++++-- 3 files changed, 14 insertions(+), 4 deletions(-) (limited to 'svx') diff --git a/svx/inc/svx/unoshprp.hxx b/svx/inc/svx/unoshprp.hxx index 5e4bdf568ba2..6cf3619cb0d1 100644 --- a/svx/inc/svx/unoshprp.hxx +++ b/svx/inc/svx/unoshprp.hxx @@ -187,7 +187,11 @@ #define OWN_ATTR_STYLE (OWN_ATTR_VALUE_START+87) -#define OWN_ATTR_EDGE_POLYPOLYGONBEZIER (OWN_ATTR_VALUE_START+88) // maximum is OWN_ATTR_VALUE_START+88, see svl/inc/svl/solar.hrc +#define OWN_ATTR_EDGE_POLYPOLYGONBEZIER (OWN_ATTR_VALUE_START+88) + +#define OWN_ATTR_MEDIA_STREAM (OWN_ATTR_VALUE_START+89) +#define OWN_ATTR_MEDIA_TEMPFILEURL (OWN_ATTR_VALUE_START+90) +// ATTENTION: maximum is OWN_ATTR_VALUE_START+90, see svl/inc/svl/solar.hrc // #FontWork# #define FONTWORK_PROPERTIES \ diff --git a/svx/source/unodraw/unoprov.cxx b/svx/source/unodraw/unoprov.cxx index f800afba3c34..c46967269c38 100644 --- a/svx/source/unodraw/unoprov.cxx +++ b/svx/source/unodraw/unoprov.cxx @@ -761,7 +761,8 @@ SfxItemPropertyMapEntry* ImplGetSvxMediaShapePropertyMap() // #i68101# { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_TITLE), OWN_ATTR_MISC_OBJ_TITLE , &::getCppuType((const ::rtl::OUString*)0), 0, 0}, { MAP_CHAR_LEN(UNO_NAME_MISC_OBJ_DESCRIPTION), OWN_ATTR_MISC_OBJ_DESCRIPTION , &::getCppuType((const ::rtl::OUString*)0), 0, 0}, - {MAP_CHAR_LEN("PrivateStream"), OWN_ATTR_GRAPHIC_STREAM, &::com::sun::star::io::XInputStream::static_type(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, + {MAP_CHAR_LEN("PrivateStream"), OWN_ATTR_MEDIA_STREAM, &::com::sun::star::io::XInputStream::static_type(), ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, + {MAP_CHAR_LEN("PrivateTempFileURL"), OWN_ATTR_MEDIA_TEMPFILEURL, &::getCppuType((const ::rtl::OUString*)0), ::com::sun::star::beans::PropertyAttribute::READONLY, 0}, {0,0,0,0,0,0} }; diff --git a/svx/source/unodraw/unoshap4.cxx b/svx/source/unodraw/unoshap4.cxx index c4c7e687df2c..ad517c25a17e 100644 --- a/svx/source/unodraw/unoshap4.cxx +++ b/svx/source/unodraw/unoshap4.cxx @@ -955,7 +955,8 @@ bool SvxMediaShape::getPropertyValueImpl( const ::rtl::OUString& rName, const Sf { if ( ((pProperty->nWID >= OWN_ATTR_MEDIA_URL) && (pProperty->nWID <= OWN_ATTR_MEDIA_ZOOM)) - || (pProperty->nWID == OWN_ATTR_GRAPHIC_STREAM)) + || (pProperty->nWID == OWN_ATTR_MEDIA_STREAM) + || (pProperty->nWID == OWN_ATTR_MEDIA_TEMPFILEURL)) { SdrMediaObj* pMedia = static_cast< SdrMediaObj* >( mpObj.get() ); const ::avmedia::MediaItem aItem( pMedia->getMediaProperties() ); @@ -982,10 +983,14 @@ bool SvxMediaShape::getPropertyValueImpl( const ::rtl::OUString& rName, const Sf rValue <<= aItem.getZoom(); break; - case OWN_ATTR_GRAPHIC_STREAM: + case OWN_ATTR_MEDIA_STREAM: rValue <<= pMedia->GetInputStream(); break; + case OWN_ATTR_MEDIA_TEMPFILEURL: + rValue <<= aItem.getTempURL(); + break; + default: OSL_FAIL("SvxMediaShape::getPropertyValueImpl(), unknown property!"); } -- cgit