summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp106
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp6
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.h5
3 files changed, 85 insertions, 32 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index a3238f0..51fbb8b 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -10,15 +10,17 @@
#include "mediaplayer.h"
#include "playlistwidget.h"
#include "audiowidget.h"
+#include "videowidget.h"
#include "volumecontrol.h"
#include "mediaplayerstate.h"
extern AudioWidget *audioUI;
+extern VideoWidget *videoUI;
extern PlayListWidget *playList;
extern MediaPlayerState *mediaPlayerState;
@@ -41,8 +43,13 @@ MediaPlayer::MediaPlayer( QObject *parent, const char *name )
connect( audioUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
connect( audioUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
connect( audioUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
+ connect( videoUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
+ connect( videoUI, SIGNAL( lessClicked() ), this, SLOT( startDecreasingVolume() ) );
+ connect( videoUI, SIGNAL( moreReleased() ), this, SLOT( stopChangingVolume() ) );
+ connect( videoUI, SIGNAL( lessReleased() ), this, SLOT( stopChangingVolume() ) );
+
volControl = new VolumeControl;
}
@@ -150,11 +157,19 @@ void MediaPlayer::stopChangingVolume() {
killTimers();
// Get rid of the on-screen display stuff
drawnOnScreenDisplay = FALSE;
onScreenDisplayVolume = 0;
- int w = audioUI->width();
- int h = audioUI->height();
- audioUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE );
+ int w=0;
+ int h=0;
+ if( !xineControl->hasVideo()) {
+ w = audioUI->width();
+ h = audioUI->height();
+ audioUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE );
+ } else {
+ w = videoUI->width();
+ h = videoUI->height();
+ videoUI->repaint( (w - 200) / 2, h - yoff, 200 + 9, 70, FALSE );
+ }
}
void MediaPlayer::timerEvent( QTimerEvent * ) {
@@ -164,44 +179,73 @@ void MediaPlayer::timerEvent( QTimerEvent * ) {
volControl->decVol(2);
}
- // TODO FIXME
+ // TODO FIXME
int v;
v = volControl->getVolume();
v = v / 10;
- if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) {
- return;
- }
-
- int w = audioUI->width();
- int h = audioUI->height();
-
- if ( drawnOnScreenDisplay ) {
- if ( onScreenDisplayVolume > v ) {
- audioUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE );
- }
+ if ( drawnOnScreenDisplay && onScreenDisplayVolume == v ) {
+ return;
}
- drawnOnScreenDisplay = TRUE;
- onScreenDisplayVolume = v;
+ int w=0; int h=0;
+ if( !xineControl->hasVideo()) {
+ w = audioUI->width();
+ h = audioUI->height();
- QPainter p( audioUI );
- p.setPen( QColor( 0x10, 0xD0, 0x10 ) );
- p.setBrush( QColor( 0x10, 0xD0, 0x10 ) );
-
- QFont f;
- f.setPixelSize( 20 );
- f.setBold( TRUE );
- p.setFont( f );
- p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") );
+ if ( drawnOnScreenDisplay ) {
+ if ( onScreenDisplayVolume > v ) {
+ audioUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE );
+ }
+ }
+ drawnOnScreenDisplay = TRUE;
+ onScreenDisplayVolume = v;
+ QPainter p( audioUI );
+ p.setPen( QColor( 0x10, 0xD0, 0x10 ) );
+ p.setBrush( QColor( 0x10, 0xD0, 0x10 ) );
+
+ QFont f;
+ f.setPixelSize( 20 );
+ f.setBold( TRUE );
+ p.setFont( f );
+ p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") );
+
+ for ( unsigned int i = 0; i < 10; i++ ) {
+ if ( v > i ) {
+ p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 );
+ } else {
+ p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 );
+ }
+ }
+ } else {
+ w = videoUI->width();
+ h = videoUI->height();
- for ( unsigned int i = 0; i < 10; i++ ) {
- if ( v > i ) {
- p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 );
- } else {
- p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 );
+ if ( drawnOnScreenDisplay ) {
+ if ( onScreenDisplayVolume > v ) {
+ videoUI->repaint( (w - 200) / 2 + v * 20 + 0, h - yoff + 40, (onScreenDisplayVolume - v) * 20 + 9, 30, FALSE );
+ }
+ }
+ drawnOnScreenDisplay = TRUE;
+ onScreenDisplayVolume = v;
+ QPainter p( videoUI );
+ p.setPen( QColor( 0x10, 0xD0, 0x10 ) );
+ p.setBrush( QColor( 0x10, 0xD0, 0x10 ) );
+
+ QFont f;
+ f.setPixelSize( 20 );
+ f.setBold( TRUE );
+ p.setFont( f );
+ p.drawText( (w - 200) / 2, h - yoff + 20, tr("Volume") );
+
+ for ( unsigned int i = 0; i < 10; i++ ) {
+ if ( v > i ) {
+ p.drawRect( (w - 200) / 2 + i * 20 + 0, h - yoff + 40, 9, 30 );
+ } else {
+ p.drawRect( (w - 200) / 2 + i * 20 + 3, h - yoff + 50, 3, 10 );
+ }
}
}
}
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp
index 84ef3f3..17112a2 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.cpp
+++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp
@@ -67,8 +67,10 @@ XineControl::~XineControl() {
delete libXine;
}
void XineControl::play( const QString& fileName ) {
+ hasVideoChannel=FALSE;
+ hasAudioChannel=FALSE;
m_fileName = fileName;
libXine->play( fileName );
mediaPlayerState->setPlaying( true );
// default to audio view until we know how to handle video
@@ -80,10 +82,12 @@ void XineControl::play( const QString& fileName ) {
}
if (whichGui == 'a') {
libXine->setShowVideo( false );
+ hasAudioChannel=TRUE;
} else {
libXine->setShowVideo( true );
+ hasVideoChannel=TRUE;
}
// determine if slider is shown
// mediaPlayerState->setIsStreaming( mdetect.isStreaming( fileName ) );
@@ -191,6 +195,6 @@ void XineControl::seekTo( long second ) {
libXine->play( m_fileName , 0, (int)second );
}
void XineControl::videoResized ( const QSize &s ) {
- libXine-> resize ( s );
+ libXine-> resize ( s );
}
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.h b/noncore/multimedia/opieplayer2/xinecontrol.h
index 9ad221e..88458be 100644
--- a/noncore/multimedia/opieplayer2/xinecontrol.h
+++ b/noncore/multimedia/opieplayer2/xinecontrol.h
@@ -44,8 +44,11 @@ public:
XineControl( QObject *parent = 0, const char *name =0 );
~XineControl();
int m_length;
+ bool hasVideo() const { return hasVideoChannel; }
+ bool hasAudio() const { return hasAudioChannel; }
+
public slots:
void play( const QString& fileName );
void stop( bool );
void pause( bool );
@@ -64,8 +67,10 @@ private:
long m_currentTime;
long m_position;
QString m_fileName;
bool disabledSuspendScreenSaver;
+ bool hasVideoChannel;
+ bool hasAudioChannel;
signals:
void positionChanged( long );
};