summaryrefslogtreecommitdiff
path: root/avmedia/source/framework/MediaControlBase.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'avmedia/source/framework/MediaControlBase.cxx')
-rw-r--r--avmedia/source/framework/MediaControlBase.cxx79
1 files changed, 43 insertions, 36 deletions
diff --git a/avmedia/source/framework/MediaControlBase.cxx b/avmedia/source/framework/MediaControlBase.cxx
index 4e8800186ae4..fb8f91066b67 100644
--- a/avmedia/source/framework/MediaControlBase.cxx
+++ b/avmedia/source/framework/MediaControlBase.cxx
@@ -20,16 +20,15 @@
#include <avmedia/mediaplayer.hxx>
#include <avmedia/mediaitem.hxx>
#include <tools/time.hxx>
+#include <tools/duration.hxx>
#include <unotools/localedatawrapper.hxx>
#include <strings.hrc>
#include <helpids.h>
#include <mediamisc.hxx>
-using ::rtl::OUString;
-
constexpr sal_Int32 AVMEDIA_DB_RANGE = -40;
-#define AVMEDIA_LINEINCREMENT 1.0
-#define AVMEDIA_PAGEINCREMENT 10.0
+constexpr double AVMEDIA_LINEINCREMENT = 1.0;
+constexpr double AVMEDIA_PAGEINCREMENT = 10.0;
namespace avmedia {
@@ -48,9 +47,11 @@ void MediaControlBase::UpdateTimeField( MediaItem const & aMediaItem, double fTi
SvtSysLocale aSysLocale;
const LocaleDataWrapper& rLocaleData = aSysLocale.GetLocaleData();
- aTimeString += rLocaleData.getDuration( tools::Time( 0, 0, static_cast< sal_uInt32 >( floor( fTime ) ) ) ) +
+ aTimeString += rLocaleData.getDuration(
+ tools::Duration( 0, 0, 0, static_cast<sal_uInt32>( floor( fTime )), 0)) +
" / " +
- rLocaleData.getDuration( tools::Time( 0, 0, static_cast< sal_uInt32 >( floor( aMediaItem.getDuration() ) )) );
+ rLocaleData.getDuration(
+ tools::Duration( 0, 0, 0, static_cast<sal_uInt32>( floor( aMediaItem.getDuration())), 0));
if( mxTimeEdit->get_text() != aTimeString )
mxTimeEdit->set_text( aTimeString );
@@ -106,15 +107,10 @@ void MediaControlBase::UpdateTimeSlider( MediaItem const & aMediaItem )
void MediaControlBase::InitializeWidgets()
{
mxPlayToolBox->set_item_help_id("play", HID_AVMEDIA_TOOLBOXITEM_PLAY);
- mxPlayToolBox->set_item_label("play", AvmResId(AVMEDIA_STR_PLAY));
mxPlayToolBox->set_item_help_id("pause", HID_AVMEDIA_TOOLBOXITEM_PAUSE);
- mxPlayToolBox->set_item_label("pause", AvmResId(AVMEDIA_STR_PAUSE));
mxPlayToolBox->set_item_help_id("stop", HID_AVMEDIA_TOOLBOXITEM_STOP);
- mxPlayToolBox->set_item_label("stop", AvmResId(AVMEDIA_STR_STOP));
mxPlayToolBox->set_item_help_id("loop", HID_AVMEDIA_TOOLBOXITEM_LOOP);
- mxPlayToolBox->set_item_label("loop", AvmResId(AVMEDIA_STR_LOOP));
mxMuteToolBox->set_item_help_id("mute", HID_AVMEDIA_TOOLBOXITEM_MUTE);
- mxMuteToolBox->set_item_label("mute", AvmResId(AVMEDIA_STR_MUTE));
mxZoomListBox->append(OUString::number(AVMEDIA_ZOOMLEVEL_50), AvmResId( AVMEDIA_STR_ZOOM_50 ));
mxZoomListBox->append(OUString::number(AVMEDIA_ZOOMLEVEL_100), AvmResId( AVMEDIA_STR_ZOOM_100 ));
@@ -135,6 +131,28 @@ void MediaControlBase::InitializeWidgets()
mxTimeSlider->set_tooltip_text( AvmResId( AVMEDIA_STR_POSITION ));
}
+void MediaControlBase::UpdatePlayState(const MediaItem& rMediaItem)
+{
+ if (rMediaItem.getState() == MediaState::Play)
+ {
+ mxPlayToolBox->set_item_active("play", true);
+ mxPlayToolBox->set_item_active("pause", false);
+ mxPlayToolBox->set_item_active("stop", false);
+ }
+ else if( rMediaItem.getState() == MediaState::Pause )
+ {
+ mxPlayToolBox->set_item_active("play", false);
+ mxPlayToolBox->set_item_active("pause", true);
+ mxPlayToolBox->set_item_active("stop", false);
+ }
+ else
+ {
+ mxPlayToolBox->set_item_active("play", false);
+ mxPlayToolBox->set_item_active("pause", false);
+ mxPlayToolBox->set_item_active("stop", true);
+ }
+}
+
void MediaControlBase::UpdateToolBoxes(const MediaItem& rMediaItem)
{
const bool bValidURL = !rMediaItem.getURL().isEmpty();
@@ -152,24 +170,7 @@ void MediaControlBase::UpdateToolBoxes(const MediaItem& rMediaItem)
{
mxPlayToolBox->set_sensitive(true);
mxMuteToolBox->set_sensitive(true);
- if( rMediaItem.getState() == MediaState::Play )
- {
- mxPlayToolBox->set_item_active("play", true);
- mxPlayToolBox->set_item_active("pause", false);
- mxPlayToolBox->set_item_active("stop", false);
- }
- else if( rMediaItem.getState() == MediaState::Pause )
- {
- mxPlayToolBox->set_item_active("play", false);
- mxPlayToolBox->set_item_active("pause", true);
- mxPlayToolBox->set_item_active("stop", false);
- }
- else
- {
- mxPlayToolBox->set_item_active("play", false);
- mxPlayToolBox->set_item_active("pause", false);
- mxPlayToolBox->set_item_active("stop", true);
- }
+ UpdatePlayState(rMediaItem);
mxPlayToolBox->set_item_active("loop", rMediaItem.isLoop());
mxMuteToolBox->set_item_active("mute", rMediaItem.isMute());
if (!mbCurrentlySettingZoom)
@@ -211,16 +212,16 @@ void MediaControlBase::UpdateToolBoxes(const MediaItem& rMediaItem)
}
}
-void MediaControlBase::SelectPlayToolBoxItem( MediaItem& aExecItem, MediaItem const & aItem, std::string_view rId)
+void MediaControlBase::SelectPlayToolBoxItem( MediaItem& aExecItem, MediaItem const & aItem, std::u16string_view rId)
{
- if (rId == "apply")
+ if (rId == u"apply")
{
MediaFloater* pFloater = avmedia::getMediaFloater();
if( pFloater )
pFloater->dispatchCurrentURL();
}
- else if (rId == "play")
+ else if (rId == u"play")
{
aExecItem.setState( MediaState::Play );
@@ -228,21 +229,27 @@ void MediaControlBase::SelectPlayToolBoxItem( MediaItem& aExecItem, MediaItem co
aExecItem.setTime( 0.0 );
else
aExecItem.setTime( aItem.getTime() );
+
+ UpdatePlayState(aExecItem);
}
- else if (rId == "pause")
+ else if (rId == u"pause")
{
aExecItem.setState( MediaState::Pause );
+
+ UpdatePlayState(aExecItem);
}
- else if (rId == "stop")
+ else if (rId == u"stop")
{
aExecItem.setState( MediaState::Stop );
aExecItem.setTime( 0.0 );
+
+ UpdatePlayState(aExecItem);
}
- else if (rId == "mute")
+ else if (rId == u"mute")
{
aExecItem.setMute( mxMuteToolBox->get_item_active("mute") );
}
- else if (rId == "loop")
+ else if (rId == u"loop")
{
aExecItem.setLoop( mxPlayToolBox->get_item_active("loop") );
}