summaryrefslogtreecommitdiff
path: root/avmedia/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-02-12 16:27:06 +0000
committerCaolán McNamara <caolanm@redhat.com>2020-02-13 09:49:00 +0100
commit9733174ea00e525c91b4edf1bbc6ab4897f5fbf8 (patch)
tree57ce3beb1d5d8f8089cb509f9f118ce05aec1d3a /avmedia/source
parentb8d0c50eff51ebe919680a2023ae807973674f75 (diff)
inherit MediaControl from InterimItemWindow
to de-dup some code Change-Id: I8bf20d4b57f3ec7bd2902f01e11278da8ded194b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88550 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'avmedia/source')
-rw-r--r--avmedia/source/framework/mediacontrol.cxx41
-rw-r--r--avmedia/source/framework/mediatoolbox.cxx4
-rw-r--r--avmedia/source/viewer/mediawindow_impl.cxx2
3 files changed, 10 insertions, 37 deletions
diff --git a/avmedia/source/framework/mediacontrol.cxx b/avmedia/source/framework/mediacontrol.cxx
index a9c144b1e455..596234771ef1 100644
--- a/avmedia/source/framework/mediacontrol.cxx
+++ b/avmedia/source/framework/mediacontrol.cxx
@@ -36,7 +36,12 @@ namespace avmedia
{
MediaControl::MediaControl( vcl::Window* pParent, MediaControlStyle eControlStyle ) :
- Control( pParent ),
+ // MEDIACONTROLSTYLE_MULTILINE is the normal docking windows of tools->media player
+ // MEDIACONTROLSTYLE_SINGLELINE is the toolbar of view->toolbar->media playback
+ InterimItemWindow(pParent, eControlStyle == MEDIACONTROLSTYLE_MULTILINE ?
+ OUString("svx/ui/mediawindow.ui") :
+ OUString("svx/ui/medialine.ui"),
+ "MediaWindow"),
MediaControlBase(),
maIdle( "avmedia MediaControl Idle" ),
maChangeTimeIdle( "avmedia MediaControl Change Time Idle" ),
@@ -45,18 +50,6 @@ MediaControl::MediaControl( vcl::Window* pParent, MediaControlStyle eControlStyl
meControlStyle( eControlStyle ),
mfTime(0.0)
{
- SetStyle(GetStyle() | WB_DIALOGCONTROL);
-
- m_xVclContentArea = VclPtr<VclVBox>::Create(this);
- m_xVclContentArea->Show();
- // MEDIACONTROLSTYLE_MULTILINE is the normal docking windows of tools->media player
- // MEDIACONTROLSTYLE_SINGLELINE is the toolbar of view->toolbar->media playback
- m_xBuilder.reset(Application::CreateInterimBuilder(m_xVclContentArea,
- eControlStyle == MEDIACONTROLSTYLE_MULTILINE ?
- OUString("svx/ui/mediawindow.ui") :
- OUString("svx/ui/medialine.ui")));
- m_xContainer = m_xBuilder->weld_container("MediaWindow");
-
mxPlayToolBox = m_xBuilder->weld_toolbar("playtoolbox");
mxTimeSlider = m_xBuilder->weld_scale("timeslider");
mxMuteToolBox = m_xBuilder->weld_toolbar("mutetoolbox");
@@ -65,9 +58,7 @@ MediaControl::MediaControl( vcl::Window* pParent, MediaControlStyle eControlStyl
mxTimeEdit = m_xBuilder->weld_entry("timeedit");
mxMediaPath = m_xBuilder->weld_label("url");
- SetBackground();
- SetPaintTransparent( true );
- SetParentClipMode( ParentClipMode::NoClip );
+ // TODO SetParentClipMode( ParentClipMode::NoClip );
InitializeWidgets();
@@ -123,15 +114,7 @@ void MediaControl::dispose()
{
disposeWidgets();
mxMediaPath.reset();
- m_xContainer.reset();
- m_xBuilder.reset();
- m_xVclContentArea.disposeAndClear();
- Control::dispose();
-}
-
-Size MediaControl::getMinSizePixel() const
-{
- return VclContainer::getLayoutRequisition(*GetWindow(GetWindowType::FirstChild));
+ InterimItemWindow::dispose();
}
void MediaControl::UpdateURLField(MediaItem const & tempItem)
@@ -140,14 +123,6 @@ void MediaControl::UpdateURLField(MediaItem const & tempItem)
mxMediaPath->set_label(aURL);
}
-void MediaControl::Resize()
-{
- vcl::Window *pChild = GetWindow(GetWindowType::FirstChild);
- assert(pChild);
- VclContainer::setLayoutAllocation(*pChild, Point(0, 0), GetSizePixel());
- Control::Resize();
-}
-
void MediaControl::setState( const MediaItem& rItem )
{
double fTime = rItem.getTime();
diff --git a/avmedia/source/framework/mediatoolbox.cxx b/avmedia/source/framework/mediatoolbox.cxx
index b085d8a77f39..a291218da6c5 100644
--- a/avmedia/source/framework/mediatoolbox.cxx
+++ b/avmedia/source/framework/mediatoolbox.cxx
@@ -46,15 +46,13 @@ private:
MediaToolBoxControl* mpToolBoxControl;
};
-
MediaToolBoxControl_Impl::MediaToolBoxControl_Impl( vcl::Window& rParent, MediaToolBoxControl& rControl ) :
MediaControl( &rParent, MEDIACONTROLSTYLE_SINGLELINE ),
mpToolBoxControl( &rControl )
{
- SetSizePixel( getMinSizePixel() );
+ SetSizePixel(m_xContainer->get_preferred_size());
}
-
void MediaToolBoxControl_Impl::update()
{
mpToolBoxControl->implUpdateMediaControl();
diff --git a/avmedia/source/viewer/mediawindow_impl.cxx b/avmedia/source/viewer/mediawindow_impl.cxx
index fdc78575f8b7..3e95252d6ad0 100644
--- a/avmedia/source/viewer/mediawindow_impl.cxx
+++ b/avmedia/source/viewer/mediawindow_impl.cxx
@@ -125,7 +125,7 @@ MediaWindowImpl::MediaWindowImpl(vcl::Window* pParent, MediaWindow* pMediaWindow
{
if (mpMediaWindowControl)
{
- mpMediaWindowControl->SetSizePixel(mpMediaWindowControl->getMinSizePixel());
+ mpMediaWindowControl->SetSizePixel(mpMediaWindowControl->GetOptimalSize());
mpMediaWindowControl->Show();
}
}