-rw-r--r-- | noncore/multimedia/opieplayer2/xinecontrol.cpp | 30 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/xinecontrol.h | 1 |
2 files changed, 31 insertions, 0 deletions
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp index 8b9413f..84ef3f3 100644 --- a/noncore/multimedia/opieplayer2/xinecontrol.cpp +++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp @@ -30,12 +30,14 @@ Boston, MA 02111-1307, USA. */ #include <qtimer.h> +#include <qpe/qcopenvelope_qws.h> +#include <qpe/qpeapplication.h> #include "xinecontrol.h" #include "mediaplayerstate.h" #include "videowidget.h" extern MediaPlayerState *mediaPlayerState; extern VideoWidget *videoUI; @@ -47,15 +49,24 @@ XineControl::XineControl( QObject *parent, const char *name ) connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( pause(bool) ) ); connect( this, SIGNAL( positionChanged( long ) ), mediaPlayerState, SLOT( updatePosition( long ) ) ); connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( stop( bool ) ) ); connect( mediaPlayerState, SIGNAL( fullscreenToggled( bool ) ), this, SLOT( setFullscreen( bool ) ) ); connect( mediaPlayerState, SIGNAL( positionChanged( long ) ), this, SLOT( seekTo( long ) ) ); connect( libXine, SIGNAL( stopped() ), this, SLOT( nextMedia() ) ); + + disabledSuspendScreenSaver = FALSE; } XineControl::~XineControl() { +#if defined(Q_WS_QWS) && !defined(QT_NO_COP) + if ( disabledSuspendScreenSaver ) { + disabledSuspendScreenSaver = FALSE; + // Re-enable the suspend mode + QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; + } +#endif delete libXine; } void XineControl::play( const QString& fileName ) { m_fileName = fileName; libXine->play( fileName ); @@ -76,12 +87,22 @@ void XineControl::play( const QString& fileName ) { // determine if slider is shown // mediaPlayerState->setIsStreaming( mdetect.isStreaming( fileName ) ); mediaPlayerState->setIsStreaming( !libXine->isSeekable() ); // which gui (video / audio) mediaPlayerState->setView( whichGui ); + +#if defined(Q_WS_QWS) && !defined(QT_NO_COP) + if ( !disabledSuspendScreenSaver ) { + disabledSuspendScreenSaver = TRUE; + // Stop the screen from blanking and power saving state + QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) + << ( whichGui == 'v' ? QPEApplication::Disable : QPEApplication::DisableSuspend ); + } +#endif + length(); position(); } void XineControl::nextMedia() { mediaPlayerState->setNext(); @@ -89,12 +110,21 @@ void XineControl::nextMedia() { void XineControl::stop( bool isSet ) { if ( !isSet) { libXine->stop( ); mediaPlayerState->setList(); //mediaPlayerState->setPlaying( false ); + +#if defined(Q_WS_QWS) && !defined(QT_NO_COP) + if ( disabledSuspendScreenSaver ) { + disabledSuspendScreenSaver = FALSE; + // Re-enable the suspend mode + QCopEnvelope("QPE/System", "setScreenSaverMode(int)" ) << QPEApplication::Enable; + } +#endif + } else { // play again } } /** diff --git a/noncore/multimedia/opieplayer2/xinecontrol.h b/noncore/multimedia/opieplayer2/xinecontrol.h index 712e298..9ad221e 100644 --- a/noncore/multimedia/opieplayer2/xinecontrol.h +++ b/noncore/multimedia/opieplayer2/xinecontrol.h @@ -61,12 +61,13 @@ public slots: private: XINE::Lib *libXine; MediaDetect mdetect; long m_currentTime; long m_position; QString m_fileName; + bool disabledSuspendScreenSaver; signals: void positionChanged( long ); }; |