-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 @@ -28,16 +28,18 @@ If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 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; XineControl::XineControl( QObject *parent, const char *name ) : QObject( parent, name ) { @@ -45,19 +47,28 @@ XineControl::XineControl( QObject *parent, const char *name ) connect ( videoUI, SIGNAL( videoResized ( const QSize & )), this, SLOT( videoResized ( const QSize & ))); 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 ); mediaPlayerState->setPlaying( true ); // default to audio view until we know how to handle video @@ -74,29 +85,48 @@ void XineControl::play( const QString& fileName ) { libXine->setShowVideo( true ); } // 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(); } 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 } } /** * Pause playback * @isSet 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 @@ -59,15 +59,16 @@ public slots: void videoResized ( const QSize &s ); private: XINE::Lib *libXine; MediaDetect mdetect; long m_currentTime; long m_position; QString m_fileName; + bool disabledSuspendScreenSaver; signals: void positionChanged( long ); }; #endif |