diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2013-11-18 13:41:36 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2013-11-18 17:02:16 +0100 |
commit | c37d7f0d50efbcf1c4ea25c54e7280b2989c35f7 (patch) | |
tree | ac7e506ed92fb9e37f5510114417f765665d7e6e | |
parent | 1416056789c9352b9a96452cb947d1d46d096fc2 (diff) |
avmedia::getMediaFloater clean-up
Change-Id: I76dcf42267cbb1f028d0501471b569fa6b7b91d5
-rw-r--r-- | avmedia/source/framework/mediacontrol.cxx | 2 | ||||
-rw-r--r-- | avmedia/source/framework/mediaplayer.cxx | 21 | ||||
-rw-r--r-- | include/avmedia/mediaplayer.hxx | 26 | ||||
-rw-r--r-- | svx/source/gallery2/galctrl.cxx | 4 |
4 files changed, 22 insertions, 31 deletions
diff --git a/avmedia/source/framework/mediacontrol.cxx b/avmedia/source/framework/mediacontrol.cxx index 09355e12b59e..5d6497c5e98e 100644 --- a/avmedia/source/framework/mediacontrol.cxx +++ b/avmedia/source/framework/mediacontrol.cxx @@ -507,7 +507,7 @@ IMPL_LINK( MediaControl, implSelectHdl, ToolBox*, p ) case( AVMEDIA_TOOLBOXITEM_INSERT ): { - MediaFloater* pFloater = AVMEDIA_MEDIAWINDOW(); + MediaFloater* pFloater = avmedia::getMediaFloater(); if( pFloater ) pFloater->dispatchCurrentURL(); diff --git a/avmedia/source/framework/mediaplayer.cxx b/avmedia/source/framework/mediaplayer.cxx index 77570ea149bd..e5b35d308b51 100644 --- a/avmedia/source/framework/mediaplayer.cxx +++ b/avmedia/source/framework/mediaplayer.cxx @@ -68,7 +68,6 @@ MediaFloater::MediaFloater( SfxBindings* _pBindings, SfxChildWindow* pCW, Window SetPosSizePixel( Point( 0, 0 ), aSize ); SetMinOutputSizePixel( aSize ); SetText( OUString( AVMEDIA_RESID( AVMEDIA_STR_MEDIAPLAYER ) ) ); - implInit(); mpMediaWindow->show(); } @@ -80,12 +79,6 @@ MediaFloater::~MediaFloater() mpMediaWindow = NULL; } -// ----------------------------------------------------------------------------- - -void MediaFloater::implInit() -{ -} - // ------------------------------------------------------------------------- void MediaFloater::Resize() @@ -136,21 +129,17 @@ void MediaFloater::setURL( const OUString& rURL, bool bPlayImmediately ) // ----------------------------------------------------------------------------- -const OUString& MediaFloater::getURL() const -{ - static const OUString aEmptyStr; - return( mpMediaWindow ? mpMediaWindow->getURL() : aEmptyStr ); -} - -// ----------------------------------------------------------------------------- - void MediaFloater::dispatchCurrentURL() { SfxDispatcher* pDispatcher = GetBindings().GetDispatcher(); if( pDispatcher ) { - const SfxStringItem aMediaURLItem( SID_INSERT_AVMEDIA, getURL() ); + OUString url; + if (mpMediaWindow != 0) { + url = mpMediaWindow->getURL(); + } + const SfxStringItem aMediaURLItem( SID_INSERT_AVMEDIA, url ); pDispatcher->Execute( SID_INSERT_AVMEDIA, SFX_CALLMODE_RECORD, &aMediaURLItem, 0L ); } } diff --git a/include/avmedia/mediaplayer.hxx b/include/avmedia/mediaplayer.hxx index ce10455b7e43..bd7706c64d8b 100644 --- a/include/avmedia/mediaplayer.hxx +++ b/include/avmedia/mediaplayer.hxx @@ -22,14 +22,9 @@ #include <sfx2/ctrlitem.hxx> #include <sfx2/dockwin.hxx> +#include <sfx2/viewfrm.hxx> #include <avmedia/avmediadllapi.h> -#define AVMEDIA_MEDIAWINDOW() \ -(static_cast< ::avmedia::MediaFloater* >( ( \ -SfxViewFrame::Current() && SfxViewFrame::Current()->GetChildWindow(::avmedia::MediaPlayer::GetChildWindowId())) ? \ -SfxViewFrame::Current()->GetChildWindow(::avmedia::MediaPlayer::GetChildWindowId())->GetWindow() : \ -NULL)) - namespace avmedia { @@ -52,23 +47,30 @@ public: ~MediaFloater(); void setURL( const OUString& rURL, bool bPlayImmediately ); - const OUString& getURL() const; void dispatchCurrentURL(); -protected: +private: virtual void Resize(); virtual void ToggleFloatingMode(); -private: - MediaWindow* mpMediaWindow; Size maLastSize; - - AVMEDIA_DLLPRIVATE void implInit(); }; +inline MediaFloater * getMediaFloater() { + SfxViewFrame * cur = SfxViewFrame::Current(); + if (cur != 0) { + SfxChildWindow * win = cur->GetChildWindow( + MediaPlayer::GetChildWindowId()); + if (win != 0) { + return static_cast<MediaFloater *>(win->GetWindow()); + } + } + return 0; +} + } #endif diff --git a/svx/source/gallery2/galctrl.cxx b/svx/source/gallery2/galctrl.cxx index 4a85e5a3f36a..f600d3dd9b32 100644 --- a/svx/source/gallery2/galctrl.cxx +++ b/svx/source/gallery2/galctrl.cxx @@ -245,12 +245,12 @@ void GalleryPreview::PreviewMedia( const INetURLObject& rURL ) { if( rURL.GetProtocol() != INET_PROT_NOT_VALID ) { - ::avmedia::MediaFloater* pFloater = AVMEDIA_MEDIAWINDOW(); + ::avmedia::MediaFloater* pFloater = avmedia::getMediaFloater(); if( !pFloater ) { SfxViewFrame::Current()->GetBindings().GetDispatcher()->Execute( SID_AVMEDIA_PLAYER, SFX_CALLMODE_SYNCHRON ); - pFloater = AVMEDIA_MEDIAWINDOW(); + pFloater = avmedia::getMediaFloater(); } if( pFloater ) |