summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayer.cpp21
-rw-r--r--noncore/multimedia/opieplayer2/mediaplayerstate.cpp19
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.cpp4
-rw-r--r--noncore/multimedia/opieplayer2/playlistwidget.h1
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp99
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.h11
6 files changed, 105 insertions, 50 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp
index 8d8e4e5..a3238f0 100644
--- a/noncore/multimedia/opieplayer2/mediaplayer.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp
@@ -31,7 +31,9 @@ MediaPlayer::MediaPlayer( QObject *parent, const char *name )
connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) );
+
connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
+
connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
@@ -50,15 +52,14 @@ MediaPlayer::~MediaPlayer() {
}
void MediaPlayer::pauseCheck( bool b ) {
- // Only pause if playing
- if ( b && !mediaPlayerState->playing() ) {
- mediaPlayerState->setPaused( FALSE );
- }
+ if ( b && !mediaPlayerState->playing() ) {
+ mediaPlayerState->setPaused( FALSE );
+ }
}
void MediaPlayer::play() {
- mediaPlayerState->setPlaying( FALSE );
- mediaPlayerState->setPlaying( TRUE );
+ mediaPlayerState->setPlaying( FALSE );
+ mediaPlayerState->setPlaying( TRUE );
}
void MediaPlayer::setPlaying( bool play ) {
@@ -67,10 +68,10 @@ void MediaPlayer::setPlaying( bool play ) {
return;
}
- if ( mediaPlayerState->paused() ) {
- mediaPlayerState->setPaused( FALSE );
- return;
- }
+ if ( mediaPlayerState->paused() ) {
+ mediaPlayerState->setPaused( FALSE );
+ return;
+ }
const DocLnk *playListCurrent = playList->current();
if ( playListCurrent != NULL ) {
diff --git a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
index 57b1c81..bb8d905 100644
--- a/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
+++ b/noncore/multimedia/opieplayer2/mediaplayerstate.cpp
@@ -53,8 +53,6 @@ void MediaPlayerState::writeConfig( Config& cfg ) const {
}
-
-
// public stuff
@@ -159,14 +157,13 @@ void MediaPlayerState::setPlaylist( bool b ) {
}
void MediaPlayerState::setPaused( bool b ) {
-if(b) qDebug("setPaused true");
- else qDebug("setPaused false");
-
- if ( isPaused == b ) {
- return;
- }
- isPaused = b;
- emit pausedToggled(b);
+ if ( isPaused == b ) {
+ isPaused = FALSE;
+ emit pausedToggled(FALSE);
+ return;
+ }
+ isPaused = b;
+ emit pausedToggled(b);
}
void MediaPlayerState::setPlaying( bool b ) {
@@ -260,7 +257,7 @@ void MediaPlayerState::togglePlaylist() {
}
void MediaPlayerState::togglePaused() {
- setPaused( !isPaused);
+ setPaused( !isPaused);
}
void MediaPlayerState::togglePlaying() {
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.cpp b/noncore/multimedia/opieplayer2/playlistwidget.cpp
index 65458e7..27db464 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.cpp
+++ b/noncore/multimedia/opieplayer2/playlistwidget.cpp
@@ -164,14 +164,14 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
menu->insertItem( tr( "View" ), pmView );
pmView->isCheckable();
- pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), this, SLOT( toggleFull() ) );
+ pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), mediaPlayerState, SLOT( toggleFullscreen() ) );
Config cfg( "OpiePlayer" );
bool b= cfg.readBoolEntry("FullScreen", 0);
mediaPlayerState->setFullscreen( b );
pmView->setItemChecked( -16, b );
- pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), this, SLOT(toggleScaled() ) );
+ pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), mediaPlayerState, SLOT(toggleScaled() ) );
QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton );
QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton );
diff --git a/noncore/multimedia/opieplayer2/playlistwidget.h b/noncore/multimedia/opieplayer2/playlistwidget.h
index fdfa666..dd49892 100644
--- a/noncore/multimedia/opieplayer2/playlistwidget.h
+++ b/noncore/multimedia/opieplayer2/playlistwidget.h
@@ -62,7 +62,6 @@ private:
void readm3u(const QString &);
void readPls(const QString &);
-
void initializeStates();
void readConfig( Config& cfg );
void writeConfig( Config& cfg ) const;
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index 9b88299..33153d4 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -63,12 +63,12 @@ struct MediaButton {
};
MediaButton videoButtons[] = {
- { FALSE, FALSE, FALSE }, // previous
{ FALSE, FALSE, FALSE }, // stop
{ TRUE, FALSE, FALSE }, // play
- { TRUE, FALSE, FALSE }, // pause
+ { FALSE, FALSE, FALSE }, // previous
{ FALSE, FALSE, FALSE }, // next
- { FALSE, FALSE, FALSE }, // playlist
+ { FALSE, FALSE, FALSE }, // volUp
+ { FALSE, FALSE, FALSE }, // volDown
{ TRUE, FALSE, FALSE } // fullscreen
};
@@ -76,7 +76,7 @@ const char *skinV_mask_file_names[7] = {
"stop","play","back","fwd","up","down","full"
};
-static const int numButtons = (sizeof(videoButtons)/sizeof(MediaButton));
+static const int numVButtons = (sizeof(videoButtons)/sizeof(MediaButton));
VideoWidget::VideoWidget(QWidget* parent, const char* name, WFlags f) :
@@ -137,6 +137,7 @@ QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) );
+
connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) );
connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) );
@@ -152,6 +153,7 @@ QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
VideoWidget::~VideoWidget() {
+ mediaPlayerState->setPlaying( FALSE );
for ( int i = 0; i < 7; i++ ) {
delete buttonPixUp[i];
delete buttonPixDown[i];
@@ -164,6 +166,7 @@ VideoWidget::~VideoWidget() {
for ( int i = 0; i < 7; i++ ) {
delete masks[i];
}
+
}
QPixmap *combineVImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
@@ -290,35 +293,80 @@ void VideoWidget::paintButton( QPainter *p, int i ) {
}
void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
- for ( int i = 0; i < numButtons; i++ ) {
+ for ( int i = 0; i < numVButtons; i++ ) {
if ( event->state() == QMouseEvent::LeftButton ) {
// The test to see if the mouse click is inside the button or not
int x = event->pos().x() - xoff;
int y = event->pos().y() - yoff;
bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask->width()
- && y < imgButtonMask->height() && imgButtonMask->pixelIndex( x, y ) == i + 1 );
+ && y < imgButtonMask->height() && imgButtonMask->pixelIndex( x, y ) == i + 1 );
if ( isOnButton != videoButtons[i].isHeld ) {
videoButtons[i].isHeld = isOnButton;
toggleButton(i);
}
+
+// qDebug("mouseMove event switch1 %d", i);
+ if( isOnButton)
+ switch (i) {
+ case VideoStop:{
+ setToggleButton( i, FALSE );
+ mediaPlayerState->setStop(TRUE);
+ mediaPlayerState->setPlaying(FALSE);
+ return;
+ }
+ case VideoPlay: {
+
+ if( mediaPlayerState->isPaused) {
+ setToggleButton( i, FALSE );
+ mediaPlayerState->setPaused( FALSE);
+ return;
+ }
+ else if( mediaPlayerState->isPlaying) {
+ setToggleButton( i, TRUE );
+ mediaPlayerState->setPaused( TRUE);
+ return;
+ }
+ else {
+ setToggleButton( i, FALSE );
+ mediaPlayerState->setPlaying( videoButtons[i].isDown );
+ return;
+ }
+ }
+ case VideoNext: qDebug("next"); mediaPlayerState->setNext(); return;
+ case VideoPrevious: qDebug("previous"); mediaPlayerState->setPrev(); return;
+ case VideoVolUp: return;
+ case VideoVolDown: return;
+ case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
+
+ };
+
} else {
if ( videoButtons[i].isHeld ) {
videoButtons[i].isHeld = FALSE;
- if ( !videoButtons[i].isToggle )
+ if ( !videoButtons[i].isToggle ) {
setToggleButton( i, FALSE );
+ }
+// qDebug("mouseMove event switch2 %d %d", i, VideoPlay);
+ switch (i) {
+ case VideoPlay: {
+ if( mediaPlayerState->isPaused) {
+ mediaPlayerState->setPaused( FALSE); return; }
+ else if( mediaPlayerState->isPlaying) {
+ mediaPlayerState->setPaused( TRUE); return; }
+ else
+ mediaPlayerState->setPlaying( TRUE /*videoButtons[i].isDown*/ ); return;
+ }
+ case VideoStop: mediaPlayerState->setPlaying(FALSE); return;
+// case VideoPause: mediaPlayerState->setPaused(videoButtons[i].isDown); return;
+ case VideoNext: mediaPlayerState->setNext(); return;
+ case VideoPrevious: mediaPlayerState->setPrev(); return;
+ case VideoVolUp: return;
+ case VideoVolDown: return;
+ case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
+ }
}
}
- switch (i) {
- case VideoPlay: mediaPlayerState->setPlaying(videoButtons[i].isDown); return;
- case VideoStop: mediaPlayerState->setPlaying(FALSE); return;
- case VideoPause: mediaPlayerState->setPaused(videoButtons[i].isDown); return;
- case VideoNext: mediaPlayerState->setNext(); return;
- case VideoPrevious: mediaPlayerState->setPrev(); return;
- case VideoPlayList: mediaPlayerState->setList(); return;
- case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
- }
-
}
}
@@ -371,20 +419,20 @@ void VideoWidget::paintEvent( QPaintEvent * pe) {
QPainter p( &pix );
p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() );
p.drawTiledPixmap( pe->rect(), *pixBg, pe->rect().topLeft() );
- for ( int i = 0; i < numButtons; i++ )
+ for ( int i = 0; i < numVButtons; i++ )
paintButton( &p, i );
QPainter p2( this );
p2.drawPixmap( pe->rect().topLeft(), pix );
} else {
QPainter p( this );
- for ( int i = 0; i < numButtons; i++ )
+ for ( int i = 0; i < numVButtons; i++ )
paintButton( &p, i );
}
// for ( int i = 0; i < numButtons; i++ ) {
// paintButton( &p, i );
// }
-// // draw the slider
-// slider->repaint( TRUE );
+ // draw the slider
+ slider->repaint( TRUE );
}
}
@@ -464,3 +512,12 @@ XineVideoWidget* VideoWidget::vidWidget() {
void VideoWidget::setFullscreen ( bool b ) {
setToggleButton( VideoFullscreen, b );
}
+
+void VideoWidget::setPaused( bool b) {
+// setToggleButton( VideoPause, b );
+}
+
+void VideoWidget::setPlaying( bool b) {
+ setToggleButton( VideoPlay, b );
+}
+
diff --git a/noncore/multimedia/opieplayer2/videowidget.h b/noncore/multimedia/opieplayer2/videowidget.h
index 830696e..92193a4 100644
--- a/noncore/multimedia/opieplayer2/videowidget.h
+++ b/noncore/multimedia/opieplayer2/videowidget.h
@@ -41,12 +41,13 @@ class QPixmap;
class QSlider;
enum VideoButtons {
- VideoPrevious,
VideoStop,
VideoPlay,
- VideoPause,
+// VideoPause,
+ VideoPrevious,
VideoNext,
- VideoPlayList,
+ VideoVolUp,
+ VideoVolDown,
VideoFullscreen
};
@@ -62,8 +63,8 @@ public slots:
void updateSlider( long, long );
void sliderPressed( );
void sliderReleased( );
- void setPaused( bool b) { setToggleButton( VideoPause, b ); }
- void setPlaying( bool b) { setToggleButton( VideoPlay, b ); }
+ void setPaused( bool b);
+ void setPlaying( bool b);
void setFullscreen( bool b );
void makeVisible();
void setPosition( long );