summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2013-11-18 13:41:36 +0100
committerStephan Bergmann <sbergman@redhat.com>2013-11-18 17:02:16 +0100
commitc37d7f0d50efbcf1c4ea25c54e7280b2989c35f7 (patch)
treeac7e506ed92fb9e37f5510114417f765665d7e6e
parent1416056789c9352b9a96452cb947d1d46d096fc2 (diff)
avmedia::getMediaFloater clean-up
Change-Id: I76dcf42267cbb1f028d0501471b569fa6b7b91d5
-rw-r--r--avmedia/source/framework/mediacontrol.cxx2
-rw-r--r--avmedia/source/framework/mediaplayer.cxx21
-rw-r--r--include/avmedia/mediaplayer.hxx26
-rw-r--r--svx/source/gallery2/galctrl.cxx4
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 )