summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp30
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.h1
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
@@ -32,8 +32,10 @@
*/
#include <qtimer.h>
+#include <qpe/qcopenvelope_qws.h>
+#include <qpe/qpeapplication.h>
#include "xinecontrol.h"
#include "mediaplayerstate.h"
#include "videowidget.h"
@@ -49,11 +51,20 @@ XineControl::XineControl( QObject *parent, const char *name )
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 ) {
@@ -78,8 +89,18 @@ void XineControl::play( const QString& fileName ) {
// 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();
}
@@ -91,8 +112,17 @@ 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
@@ -63,8 +63,9 @@ private:
MediaDetect mdetect;
long m_currentTime;
long m_position;
QString m_fileName;
+ bool disabledSuspendScreenSaver;
signals:
void positionChanged( long );
};