summaryrefslogtreecommitdiff
path: root/avmedia
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2004-11-03 14:53:18 +0000
committerRüdiger Timm <rt@openoffice.org>2004-11-03 14:53:18 +0000
commit26dc1757eed28ad6fbe2e5c756838c79c689ffe7 (patch)
tree839575aa3e6b4e9162793e9f9c1dd0ae2cf07775 /avmedia
parentc0dafd388758e7006ca81b901e1481b47b83ea15 (diff)
INTEGRATION: CWS jmf3 (1.1.1.1.2); FILE MERGED
2004/10/04 10:48:31 ka 1.1.1.1.2.3: syntax 2004/10/04 10:30:25 ka 1.1.1.1.2.2: #i34778#: added help ids for mediaplayer 2004/10/01 12:49:32 ka 1.1.1.1.2.1: optimized state handling
Diffstat (limited to 'avmedia')
-rw-r--r--avmedia/source/framework/mediacontrol.cxx80
1 files changed, 58 insertions, 22 deletions
diff --git a/avmedia/source/framework/mediacontrol.cxx b/avmedia/source/framework/mediacontrol.cxx
index e1cd92174474..2ab2c2e2e197 100644
--- a/avmedia/source/framework/mediacontrol.cxx
+++ b/avmedia/source/framework/mediacontrol.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: mediacontrol.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: ka $ $Date: 2004-08-23 09:04:42 $
+ * last change: $Author: rt $ $Date: 2004-11-03 15:53:18 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -64,6 +64,7 @@
#include "mediamisc.hxx"
#include "mediawindow.hxx"
#include "mediaplayer.hxx"
+#include "helpids.hrc"
#include <vcl/svapp.hxx>
#include <vcl/lstbox.hxx>
#include <sfx2/viewfrm.hxx>
@@ -111,7 +112,8 @@ MediaControl::MediaControl( Window* pParent, MediaControlStyle eControlStyle ) :
maZoomToolBox( this, WB_3DLOOK ),
mpZoomListBox( new ListBox( &maZoomToolBox, WB_BORDER | WB_DROPDOWN | WB_AUTOHSCROLL | WB_3DLOOK ) ),
maTimeEdit( this, WB_CENTER | WB_READONLY | WB_BORDER | WB_3DLOOK | WB_READONLY ),
- meControlStyle( eControlStyle )
+ meControlStyle( eControlStyle ),
+ mbLocked( false )
{
const String aTimeText( RTL_CONSTASCII_USTRINGPARAM( " 00:00:00/00:00:00 " ) );
@@ -119,8 +121,14 @@ MediaControl::MediaControl( Window* pParent, MediaControlStyle eControlStyle ) :
if( MEDIACONTROLSTYLE_SINGLELINE != meControlStyle )
{
+
+
maPlayToolBox.InsertItem( AVMEDIA_TOOLBOXITEM_OPEN, implGetImage( AVMEDIA_IMG_OPEN ), String( AVMEDIA_RESID( AVMEDIA_STR_OPEN ) ) );
+ maPlayToolBox.SetHelpId( AVMEDIA_TOOLBOXITEM_OPEN, HID_AVMEDIA_TOOLBOXITEM_OPEN );
+
maPlayToolBox.InsertItem( AVMEDIA_TOOLBOXITEM_INSERT, implGetImage( AVMEDIA_IMG_INSERT ), String( AVMEDIA_RESID( AVMEDIA_STR_INSERT ) ) );
+ maPlayToolBox.SetHelpId( AVMEDIA_TOOLBOXITEM_INSERT, HID_AVMEDIA_TOOLBOXITEM_INSERT );
+
maPlayToolBox.InsertSeparator();
}
else
@@ -131,14 +139,21 @@ MediaControl::MediaControl( Window* pParent, MediaControlStyle eControlStyle ) :
maVolumeSlider.SetBackground();
maZoomToolBox.SetBackground();
mpZoomListBox->SetBackground();
- //maTimeEdit.SetBackground();
}
maPlayToolBox.InsertItem( AVMEDIA_TOOLBOXITEM_PLAY, implGetImage( AVMEDIA_IMG_PLAY ), String( AVMEDIA_RESID( AVMEDIA_STR_PLAY ) ), TIB_CHECKABLE );
+ maPlayToolBox.SetHelpId( AVMEDIA_TOOLBOXITEM_PLAY, HID_AVMEDIA_TOOLBOXITEM_PLAY );
+
maPlayToolBox.InsertItem( AVMEDIA_TOOLBOXITEM_PAUSE, implGetImage( AVMEDIA_IMG_PAUSE ), String( AVMEDIA_RESID( AVMEDIA_STR_PAUSE ) ), TIB_CHECKABLE );
+ maPlayToolBox.SetHelpId( AVMEDIA_TOOLBOXITEM_PAUSE, HID_AVMEDIA_TOOLBOXITEM_PAUSE );
+
maPlayToolBox.InsertItem( AVMEDIA_TOOLBOXITEM_STOP, implGetImage( AVMEDIA_IMG_STOP ), String( AVMEDIA_RESID( AVMEDIA_STR_STOP ) ), TIB_CHECKABLE );
+ maPlayToolBox.SetHelpId( AVMEDIA_TOOLBOXITEM_STOP, HID_AVMEDIA_TOOLBOXITEM_STOP );
+
maPlayToolBox.InsertSeparator();
+
maPlayToolBox.InsertItem( AVMEDIA_TOOLBOXITEM_LOOP, implGetImage( AVMEDIA_IMG_ENDLESS ), String( AVMEDIA_RESID( AVMEDIA_STR_ENDLESS ) ) );
+ maPlayToolBox.SetHelpId( AVMEDIA_TOOLBOXITEM_LOOP, HID_AVMEDIA_TOOLBOXITEM_LOOP );
if( MEDIACONTROLSTYLE_SINGLELINE == meControlStyle )
maPlayToolBox.InsertSeparator();
@@ -151,6 +166,7 @@ MediaControl::MediaControl( Window* pParent, MediaControlStyle eControlStyle ) :
maTimeSlider.SetSlideHdl( LINK( this, MediaControl, implTimeHdl ) );
maTimeSlider.SetEndSlideHdl( LINK( this, MediaControl, implTimeEndHdl ) );
maTimeSlider.SetRange( Range( 0, AVMEDIA_TIME_RANGE ) );
+ maTimeSlider.SetHelpId( HID_AVMEDIA_TIMESLIDER );
maTimeSlider.SetUpdateMode( true );
maTimeSlider.SetSizePixel( Size( 128, maPlayToolBox.GetSizePixel().Height() ) );
maTimeSlider.Show();
@@ -160,6 +176,7 @@ MediaControl::MediaControl( Window* pParent, MediaControlStyle eControlStyle ) :
maTimeEdit.SetUpdateMode( true );
maTimeEdit.SetSizePixel( Size( maTimeEdit.GetTextWidth( aTimeText ) + 8, maPlayToolBox.GetSizePixel().Height() ) );
maTimeEdit.SetControlBackground( Application::GetSettings().GetStyleSettings().GetWindowColor() );
+ maTimeEdit.SetHelpId( HID_AVMEDIA_TIMEEDIT );
maTimeEdit.Disable();
maTimeEdit.Show();
maMinSize.Width() += maTimeEdit.GetSizePixel().Width();
@@ -168,6 +185,8 @@ MediaControl::MediaControl( Window* pParent, MediaControlStyle eControlStyle ) :
maMuteToolBox.InsertSeparator();
maMuteToolBox.InsertItem( AVMEDIA_TOOLBOXITEM_MUTE, implGetImage( AVMEDIA_IMG_MUTE ), String( AVMEDIA_RESID( AVMEDIA_STR_MUTE ) ) );
+ maMuteToolBox.SetHelpId( AVMEDIA_TOOLBOXITEM_MUTE, HID_AVMEDIA_TOOLBOXITEM_MUTE );
+
maMuteToolBox.SetSelectHdl( LINK( this, MediaControl, implSelectHdl ) );
maMuteToolBox.SetSizePixel( maMuteToolBox.CalcWindowSizePixel() );
maMuteToolBox.Show();
@@ -176,9 +195,8 @@ MediaControl::MediaControl( Window* pParent, MediaControlStyle eControlStyle ) :
maVolumeSlider.SetSlideHdl( LINK( this, MediaControl, implVolumeHdl ) );
maVolumeSlider.SetEndSlideHdl( LINK( this, MediaControl, implVolumeEndHdl ) );
maVolumeSlider.SetRange( Range( AVMEDIA_DB_RANGE, 0 ) );
- maTimeSlider.SetLineSize( labs( AVMEDIA_DB_RANGE / 33 ) );
- maTimeSlider.SetPageSize( labs( AVMEDIA_DB_RANGE / 10 ) );
maVolumeSlider.SetUpdateMode( true );
+ maVolumeSlider.SetHelpId( HID_AVMEDIA_VOLUMESLIDER );
maVolumeSlider.SetSizePixel( Size( 48, maPlayToolBox.GetSizePixel().Height() ) );
maVolumeSlider.Show();
maMinSize.Width() += maVolumeSlider.GetSizePixel().Width();
@@ -188,10 +206,12 @@ MediaControl::MediaControl( Window* pParent, MediaControlStyle eControlStyle ) :
mpZoomListBox->InsertEntry( String( AVMEDIA_RESID( AVMEDIA_STR_ZOOM_100 ) ), AVMEDIA_ZOOMLEVEL_100 );
mpZoomListBox->InsertEntry( String( AVMEDIA_RESID( AVMEDIA_STR_ZOOM_200 ) ), AVMEDIA_ZOOMLEVEL_200 );
mpZoomListBox->InsertEntry( String( AVMEDIA_RESID( AVMEDIA_STR_ZOOM_FIT ) ), AVMEDIA_ZOOMLEVEL_FIT );
- // mpZoomListBox->InsertEntry( String( AVMEDIA_RESID( AVMEDIA_STR_ZOOM_SCALED ) ), AVMEDIA_ZOOMLEVEL_SCALED );
mpZoomListBox->SetSelectHdl( LINK( this, MediaControl, implZoomSelectHdl ) );
+ mpZoomListBox->SetHelpId( HID_AVMEDIA_ZOOMLISTBOX );
maZoomToolBox.InsertItem( AVMEDIA_TOOLBOXITEM_ZOOM, String( AVMEDIA_RESID( AVMEDIA_STR_ZOOM ) ) );
+ maZoomToolBox.SetHelpId( AVMEDIA_TOOLBOXITEM_ZOOM, HID_AVMEDIA_ZOOMLISTBOX );
+
maZoomToolBox.SetItemWindow( AVMEDIA_TOOLBOXITEM_ZOOM, mpZoomListBox );
maZoomToolBox.SetSelectHdl( LINK( this, MediaControl, implSelectHdl ) );
maZoomToolBox.SetSizePixel( maZoomToolBox.CalcWindowSizePixel() );
@@ -286,12 +306,15 @@ void MediaControl::Resize()
void MediaControl::setState( const MediaItem& rItem )
{
- maItem.merge( rItem );
+ if( !mbLocked )
+ {
+ maItem.merge( rItem );
- implUpdateToolboxes();
- implUpdateTimeSlider();
- implUpdateVolumeSlider();
- implUpdateTimeField( maItem.getTime() );
+ implUpdateToolboxes();
+ implUpdateTimeSlider();
+ implUpdateVolumeSlider();
+ implUpdateTimeField( maItem.getTime() );
+ }
}
// ------------------------------------------------------------------------------
@@ -327,10 +350,20 @@ void MediaControl::implUpdateToolboxes()
maPlayToolBox.EnableItem( AVMEDIA_TOOLBOXITEM_LOOP, bValidURL );
maMuteToolBox.EnableItem( AVMEDIA_TOOLBOXITEM_MUTE, bValidURL );
- if( !bValidURL )
+ if( !bValidURL || !IsEnabled() )
+ {
mpZoomListBox->Disable();
+
+ if( MEDIACONTROLSTYLE_SINGLELINE == meControlStyle )
+ maPlayToolBox.Disable();
+
+ maMuteToolBox.Disable();
+ }
else
{
+ maPlayToolBox.Enable();
+ maMuteToolBox.Enable();
+
if( MEDIASTATE_PLAY == maItem.getState() || MEDIASTATE_PLAYFFW == maItem.getState() )
{
maPlayToolBox.CheckItem( AVMEDIA_TOOLBOXITEM_PLAY, true );
@@ -386,14 +419,14 @@ void MediaControl::implUpdateToolboxes()
void MediaControl::implUpdateTimeSlider()
{
- if( maItem.getURL().getLength() == 0 )
+ if( !maItem.getURL().getLength() || !IsEnabled() )
maTimeSlider.Disable();
else
{
- const double fDuration = maItem.getDuration();
-
maTimeSlider.Enable();
+ const double fDuration = maItem.getDuration();
+
if( fDuration > 0.0 )
{
const double fTime = ::std::min( maItem.getTime(), fDuration );
@@ -413,13 +446,14 @@ void MediaControl::implUpdateTimeSlider()
void MediaControl::implUpdateVolumeSlider()
{
- if( maItem.getURL().getLength() == 0 )
+ if( !maItem.getURL().getLength() || !IsEnabled() )
maVolumeSlider.Disable();
else
{
+ maVolumeSlider.Enable();
+
const sal_Int32 nVolumeDB = maItem.getVolumeDB();
- maVolumeSlider.Enable();
maVolumeSlider.SetThumbPos( ::std::min( ::std::max( nVolumeDB, static_cast< sal_Int32 >( AVMEDIA_DB_RANGE ) ),
static_cast< sal_Int32 >( 0 ) ) );
}
@@ -429,8 +463,6 @@ void MediaControl::implUpdateVolumeSlider()
void MediaControl::implUpdateTimeField( double fCurTime )
{
- maTimeEdit.Disable();
-
if( maItem.getURL().getLength() > 0 )
{
const International aInternational;
@@ -439,7 +471,9 @@ void MediaControl::implUpdateTimeField( double fCurTime )
aTimeString += aInternational.GetDuration( Time( 0, 0, static_cast< sal_uInt32 >( floor( fCurTime ) ) ) );
aTimeString.AppendAscii( RTL_CONSTASCII_STRINGPARAM( " / " ));
aTimeString += aInternational.GetDuration( Time( 0, 0, static_cast< sal_uInt32 >( floor( maItem.getDuration() ) ) ) );
- maTimeEdit.SetText( aTimeString );
+
+ if( maTimeEdit.GetText() != aTimeString )
+ maTimeEdit.SetText( aTimeString );
}
}
@@ -454,6 +488,7 @@ Image MediaControl::implGetImage( sal_Int32 nImageId ) const
IMPL_LINK( MediaControl, implTimeHdl, Slider*, p )
{
+ mbLocked = true;
maTimer.Stop();
implUpdateTimeField( p->GetThumbPos() * maItem.getDuration() / AVMEDIA_TIME_RANGE );
@@ -470,6 +505,7 @@ IMPL_LINK( MediaControl, implTimeEndHdl, Slider*, p )
execute( aExecItem );
update();
maTimer.Start();
+ mbLocked = false;
return 0;
}
@@ -480,7 +516,7 @@ IMPL_LINK( MediaControl, implVolumeHdl, Slider*, p )
{
MediaItem aExecItem;
- aExecItem.setVolumeDB( p->GetThumbPos() );
+ aExecItem.setVolumeDB( static_cast< sal_Int16 >( p->GetThumbPos() ) );
execute( aExecItem );
update();