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
@@ -30,9 +30,11 @@ MediaPlayer::MediaPlayer( QObject *parent, const char *name )
// QPEApplication::grabKeyboard(); // EVIL
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() ) );
connect( audioUI, SIGNAL( moreClicked() ), this, SLOT( startIncreasingVolume() ) );
@@ -49,29 +51,28 @@ MediaPlayer::~MediaPlayer() {
delete volControl;
}
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 ) {
if ( !play ) {
mediaPlayerState->setPaused( FALSE );
return;
}
- if ( mediaPlayerState->paused() ) {
- mediaPlayerState->setPaused( FALSE );
- return;
- }
+ if ( mediaPlayerState->paused() ) {
+ mediaPlayerState->setPaused( FALSE );
+ return;
+ }
const DocLnk *playListCurrent = playList->current();
if ( playListCurrent != NULL ) {
currentFile = playListCurrent;
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
@@ -52,10 +52,8 @@ void MediaPlayerState::writeConfig( Config& cfg ) const {
cfg.writeEntry("UsePlayList", usePlaylist );
}
-
-
// public stuff
bool MediaPlayerState::streaming() {
@@ -158,16 +156,15 @@ void MediaPlayerState::setPlaylist( bool b ) {
emit playlistToggled(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 ) {
if ( isPlaying == b ) {
@@ -259,9 +256,9 @@ void MediaPlayerState::togglePlaylist() {
setPlaylist( !usePlaylist);
}
void MediaPlayerState::togglePaused() {
- setPaused( !isPaused);
+ setPaused( !isPaused);
}
void MediaPlayerState::togglePlaying() {
setPlaying( !isPlaying);
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
@@ -163,16 +163,16 @@ PlayListWidget::PlayListWidget( QWidget* parent, const char* name, WFlags fl )
pmView = new QPopupMenu( this );
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
@@ -61,9 +61,8 @@ private:
void doUnblank();
void readm3u(const QString &);
void readPls(const QString &);
-
void initializeStates();
void readConfig( Config& cfg );
void writeConfig( Config& cfg ) const;
PlayListWidgetPrivate *d; // Private implementation data
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
@@ -62,22 +62,22 @@ struct MediaButton {
bool isToggle, isHeld, isDown;
};
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
};
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) :
QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
@@ -136,8 +136,9 @@ QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
connect( mediaPlayerState, SIGNAL( lengthChanged(long) ), this, SLOT( setLength(long) ) );
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) ) );
setLength( mediaPlayerState->length() );
@@ -151,8 +152,9 @@ 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];
}
@@ -163,8 +165,9 @@ VideoWidget::~VideoWidget() {
delete imgButtonMask;
for ( int i = 0; i < 7; i++ ) {
delete masks[i];
}
+
}
QPixmap *combineVImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
QPixmap pix( img.width(), img.height() );
@@ -289,37 +292,82 @@ void VideoWidget::paintButton( QPainter *p, int i ) {
p->drawPixmap( xoff, yoff, *buttonPixUp[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;
- }
-
}
}
void VideoWidget::mousePressEvent( QMouseEvent *event ) {
@@ -370,22 +418,22 @@ void VideoWidget::paintEvent( QPaintEvent * pe) {
QPixmap pix( pe->rect().size() );
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 );
}
}
@@ -463,4 +511,13 @@ 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
@@ -40,14 +40,15 @@
class QPixmap;
class QSlider;
enum VideoButtons {
- VideoPrevious,
VideoStop,
VideoPlay,
- VideoPause,
+// VideoPause,
+ VideoPrevious,
VideoNext,
- VideoPlayList,
+ VideoVolUp,
+ VideoVolDown,
VideoFullscreen
};
class VideoWidget : public QWidget {
@@ -61,10 +62,10 @@ public:
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 );
void setLength( long );