summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/videowidget.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opieplayer2/videowidget.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp87
1 files changed, 72 insertions, 15 deletions
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
@@ -64,10 +64,10 @@ 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
};
@@ -77,5 +77,5 @@ const char *skinV_mask_file_names[7] = {
};
-static const int numButtons = (sizeof(videoButtons)/sizeof(MediaButton));
+static const int numVButtons = (sizeof(videoButtons)/sizeof(MediaButton));
@@ -138,4 +138,5 @@ QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
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) ) );
@@ -153,4 +154,5 @@ QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
VideoWidget::~VideoWidget() {
+ mediaPlayerState->setPlaying( FALSE );
for ( int i = 0; i < 7; i++ ) {
delete buttonPixUp[i];
@@ -165,4 +167,5 @@ VideoWidget::~VideoWidget() {
delete masks[i];
}
+
}
@@ -291,5 +294,5 @@ 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
@@ -303,21 +306,66 @@ void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
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: mediaPlayerState->setPlaying(videoButtons[i].isDown); return;
+ 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 VideoPause: mediaPlayerState->setPaused(videoButtons[i].isDown); return;
case VideoNext: mediaPlayerState->setNext(); return;
case VideoPrevious: mediaPlayerState->setPrev(); return;
- case VideoPlayList: mediaPlayerState->setList(); return;
+ case VideoVolUp: return;
+ case VideoVolDown: return;
case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
}
-
+ }
+ }
}
}
@@ -372,5 +420,5 @@ void VideoWidget::paintEvent( QPaintEvent * pe) {
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 );
@@ -378,5 +426,5 @@ void VideoWidget::paintEvent( QPaintEvent * pe) {
} else {
QPainter p( this );
- for ( int i = 0; i < numButtons; i++ )
+ for ( int i = 0; i < numVButtons; i++ )
paintButton( &p, i );
}
@@ -384,6 +432,6 @@ void VideoWidget::paintEvent( QPaintEvent * pe) {
// paintButton( &p, i );
// }
-// // draw the slider
-// slider->repaint( TRUE );
+ // draw the slider
+ slider->repaint( TRUE );
}
}
@@ -465,2 +513,11 @@ void VideoWidget::setFullscreen ( bool b ) {
setToggleButton( VideoFullscreen, b );
}
+
+void VideoWidget::setPaused( bool b) {
+// setToggleButton( VideoPause, b );
+}
+
+void VideoWidget::setPlaying( bool b) {
+ setToggleButton( VideoPlay, b );
+}
+