summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2002-08-13 23:42:50 (UTC)
committer llornkcor <llornkcor>2002-08-13 23:42:50 (UTC)
commit6baf582094b418ec1defa2415210a7d7583628ff (patch) (unidiff)
treee7ee4a196eeb23a1b9276ab09f01aaf39ced83e3
parent8abcf5a17d4ec31ad01557b69b8b0e7d97dc0c8f (diff)
downloadopie-6baf582094b418ec1defa2415210a7d7583628ff.zip
opie-6baf582094b418ec1defa2415210a7d7583628ff.tar.gz
opie-6baf582094b418ec1defa2415210a7d7583628ff.tar.bz2
fix video button actions.. still needs work
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 )
31 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) ); 31 connect( qApp,SIGNAL( aboutToQuit()),SLOT( cleanUp()) );
32 32
33 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); 33 connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) );
34
34 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) ); 35 connect( mediaPlayerState, SIGNAL( pausedToggled( bool ) ), this, SLOT( pauseCheck( bool ) ) );
36
35 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) ); 37 connect( mediaPlayerState, SIGNAL( next() ), this, SLOT( next() ) );
36 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) ); 38 connect( mediaPlayerState, SIGNAL( prev() ), this, SLOT( prev() ) );
37 39
@@ -50,15 +52,14 @@ MediaPlayer::~MediaPlayer() {
50} 52}
51 53
52void MediaPlayer::pauseCheck( bool b ) { 54void MediaPlayer::pauseCheck( bool b ) {
53 // Only pause if playing 55 if ( b && !mediaPlayerState->playing() ) {
54 if ( b && !mediaPlayerState->playing() ) { 56 mediaPlayerState->setPaused( FALSE );
55 mediaPlayerState->setPaused( FALSE ); 57 }
56 }
57} 58}
58 59
59void MediaPlayer::play() { 60void MediaPlayer::play() {
60 mediaPlayerState->setPlaying( FALSE ); 61 mediaPlayerState->setPlaying( FALSE );
61 mediaPlayerState->setPlaying( TRUE ); 62 mediaPlayerState->setPlaying( TRUE );
62} 63}
63 64
64void MediaPlayer::setPlaying( bool play ) { 65void MediaPlayer::setPlaying( bool play ) {
@@ -67,10 +68,10 @@ void MediaPlayer::setPlaying( bool play ) {
67 return; 68 return;
68 } 69 }
69 70
70 if ( mediaPlayerState->paused() ) { 71 if ( mediaPlayerState->paused() ) {
71 mediaPlayerState->setPaused( FALSE ); 72 mediaPlayerState->setPaused( FALSE );
72 return; 73 return;
73 } 74 }
74 75
75 const DocLnk *playListCurrent = playList->current(); 76 const DocLnk *playListCurrent = playList->current();
76 if ( playListCurrent != NULL ) { 77 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 {
53} 53}
54 54
55 55
56
57
58// public stuff 56// public stuff
59 57
60 58
@@ -159,14 +157,13 @@ void MediaPlayerState::setPlaylist( bool b ) {
159} 157}
160 158
161void MediaPlayerState::setPaused( bool b ) { 159void MediaPlayerState::setPaused( bool b ) {
162if(b) qDebug("setPaused true"); 160 if ( isPaused == b ) {
163 else qDebug("setPaused false"); 161 isPaused = FALSE;
164 162 emit pausedToggled(FALSE);
165 if ( isPaused == b ) { 163 return;
166 return; 164 }
167 } 165 isPaused = b;
168 isPaused = b; 166 emit pausedToggled(b);
169 emit pausedToggled(b);
170} 167}
171 168
172void MediaPlayerState::setPlaying( bool b ) { 169void MediaPlayerState::setPlaying( bool b ) {
@@ -260,7 +257,7 @@ void MediaPlayerState::togglePlaylist() {
260} 257}
261 258
262void MediaPlayerState::togglePaused() { 259void MediaPlayerState::togglePaused() {
263 setPaused( !isPaused); 260 setPaused( !isPaused);
264} 261}
265 262
266void MediaPlayerState::togglePlaying() { 263void 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 )
164 menu->insertItem( tr( "View" ), pmView ); 164 menu->insertItem( tr( "View" ), pmView );
165 pmView->isCheckable(); 165 pmView->isCheckable();
166 166
167 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), this, SLOT( toggleFull() ) ); 167 pmView->insertItem( Resource::loadPixmap("fullscreen") , tr( "Full Screen"), mediaPlayerState, SLOT( toggleFullscreen() ) );
168 168
169 Config cfg( "OpiePlayer" ); 169 Config cfg( "OpiePlayer" );
170 bool b= cfg.readBoolEntry("FullScreen", 0); 170 bool b= cfg.readBoolEntry("FullScreen", 0);
171 mediaPlayerState->setFullscreen( b ); 171 mediaPlayerState->setFullscreen( b );
172 pmView->setItemChecked( -16, b ); 172 pmView->setItemChecked( -16, b );
173 173
174 pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), this, SLOT(toggleScaled() ) ); 174 pmView->insertItem( Resource::loadPixmap("opieplayer/scale") , tr( "Scale"), mediaPlayerState, SLOT(toggleScaled() ) );
175 175
176 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton ); 176 QVBox *vbox5 = new QVBox( this ); vbox5->setBackgroundMode( PaletteButton );
177 QVBox *vbox4 = new QVBox( vbox5 ); vbox4->setBackgroundMode( PaletteButton ); 177 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:
62 void readm3u(const QString &); 62 void readm3u(const QString &);
63 void readPls(const QString &); 63 void readPls(const QString &);
64 64
65
66 void initializeStates(); 65 void initializeStates();
67 void readConfig( Config& cfg ); 66 void readConfig( Config& cfg );
68 void writeConfig( Config& cfg ) const; 67 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 {
63}; 63};
64 64
65MediaButton videoButtons[] = { 65MediaButton videoButtons[] = {
66 { FALSE, FALSE, FALSE }, // previous
67 { FALSE, FALSE, FALSE }, // stop 66 { FALSE, FALSE, FALSE }, // stop
68 { TRUE, FALSE, FALSE }, // play 67 { TRUE, FALSE, FALSE }, // play
69 { TRUE, FALSE, FALSE }, // pause 68 { FALSE, FALSE, FALSE }, // previous
70 { FALSE, FALSE, FALSE }, // next 69 { FALSE, FALSE, FALSE }, // next
71 { FALSE, FALSE, FALSE }, // playlist 70 { FALSE, FALSE, FALSE }, // volUp
71 { FALSE, FALSE, FALSE }, // volDown
72 { TRUE, FALSE, FALSE } // fullscreen 72 { TRUE, FALSE, FALSE } // fullscreen
73}; 73};
74 74
@@ -76,7 +76,7 @@ const char *skinV_mask_file_names[7] = {
76"stop","play","back","fwd","up","down","full" 76"stop","play","back","fwd","up","down","full"
77}; 77};
78 78
79static const int numButtons = (sizeof(videoButtons)/sizeof(MediaButton)); 79static const int numVButtons = (sizeof(videoButtons)/sizeof(MediaButton));
80 80
81 81
82VideoWidget::VideoWidget(QWidget* parent, const char* name, WFlags f) : 82VideoWidget::VideoWidget(QWidget* parent, const char* name, WFlags f) :
@@ -137,6 +137,7 @@ QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
137 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); 137 connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) );
138 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); 138 connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) );
139 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) ); 139 connect( mediaPlayerState, SIGNAL( viewChanged(char) ), this, SLOT( setView(char) ) );
140
140 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) ); 141 connect( mediaPlayerState, SIGNAL( pausedToggled(bool) ), this, SLOT( setPaused(bool) ) );
141 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) ); 142 connect( mediaPlayerState, SIGNAL( playingToggled(bool) ), this, SLOT( setPlaying(bool) ) );
142 143
@@ -152,6 +153,7 @@ QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
152 153
153 154
154VideoWidget::~VideoWidget() { 155VideoWidget::~VideoWidget() {
156 mediaPlayerState->setPlaying( FALSE );
155 for ( int i = 0; i < 7; i++ ) { 157 for ( int i = 0; i < 7; i++ ) {
156 delete buttonPixUp[i]; 158 delete buttonPixUp[i];
157 delete buttonPixDown[i]; 159 delete buttonPixDown[i];
@@ -164,6 +166,7 @@ VideoWidget::~VideoWidget() {
164 for ( int i = 0; i < 7; i++ ) { 166 for ( int i = 0; i < 7; i++ ) {
165 delete masks[i]; 167 delete masks[i];
166 } 168 }
169
167} 170}
168 171
169QPixmap *combineVImageWithBackground( QImage img, QPixmap bg, QPoint offset ) { 172QPixmap *combineVImageWithBackground( QImage img, QPixmap bg, QPoint offset ) {
@@ -290,35 +293,80 @@ void VideoWidget::paintButton( QPainter *p, int i ) {
290} 293}
291 294
292void VideoWidget::mouseMoveEvent( QMouseEvent *event ) { 295void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
293 for ( int i = 0; i < numButtons; i++ ) { 296 for ( int i = 0; i < numVButtons; i++ ) {
294 if ( event->state() == QMouseEvent::LeftButton ) { 297 if ( event->state() == QMouseEvent::LeftButton ) {
295 // The test to see if the mouse click is inside the button or not 298 // The test to see if the mouse click is inside the button or not
296 int x = event->pos().x() - xoff; 299 int x = event->pos().x() - xoff;
297 int y = event->pos().y() - yoff; 300 int y = event->pos().y() - yoff;
298 301
299 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask->width() 302 bool isOnButton = ( x > 0 && y > 0 && x < imgButtonMask->width()
300 && y < imgButtonMask->height() && imgButtonMask->pixelIndex( x, y ) == i + 1 ); 303 && y < imgButtonMask->height() && imgButtonMask->pixelIndex( x, y ) == i + 1 );
301 if ( isOnButton != videoButtons[i].isHeld ) { 304 if ( isOnButton != videoButtons[i].isHeld ) {
302 videoButtons[i].isHeld = isOnButton; 305 videoButtons[i].isHeld = isOnButton;
303 toggleButton(i); 306 toggleButton(i);
304 } 307 }
308
309// qDebug("mouseMove event switch1 %d", i);
310 if( isOnButton)
311 switch (i) {
312 case VideoStop:{
313 setToggleButton( i, FALSE );
314 mediaPlayerState->setStop(TRUE);
315 mediaPlayerState->setPlaying(FALSE);
316 return;
317 }
318 case VideoPlay: {
319
320 if( mediaPlayerState->isPaused) {
321 setToggleButton( i, FALSE );
322 mediaPlayerState->setPaused( FALSE);
323 return;
324 }
325 else if( mediaPlayerState->isPlaying) {
326 setToggleButton( i, TRUE );
327 mediaPlayerState->setPaused( TRUE);
328 return;
329 }
330 else {
331 setToggleButton( i, FALSE );
332 mediaPlayerState->setPlaying( videoButtons[i].isDown );
333 return;
334 }
335 }
336 case VideoNext: qDebug("next"); mediaPlayerState->setNext(); return;
337 case VideoPrevious: qDebug("previous"); mediaPlayerState->setPrev(); return;
338 case VideoVolUp: return;
339 case VideoVolDown: return;
340 case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
341
342 };
343
305 } else { 344 } else {
306 if ( videoButtons[i].isHeld ) { 345 if ( videoButtons[i].isHeld ) {
307 videoButtons[i].isHeld = FALSE; 346 videoButtons[i].isHeld = FALSE;
308 if ( !videoButtons[i].isToggle ) 347 if ( !videoButtons[i].isToggle ) {
309 setToggleButton( i, FALSE ); 348 setToggleButton( i, FALSE );
349 }
350// qDebug("mouseMove event switch2 %d %d", i, VideoPlay);
351 switch (i) {
352 case VideoPlay: {
353 if( mediaPlayerState->isPaused) {
354 mediaPlayerState->setPaused( FALSE); return; }
355 else if( mediaPlayerState->isPlaying) {
356 mediaPlayerState->setPaused( TRUE); return; }
357 else
358 mediaPlayerState->setPlaying( TRUE /*videoButtons[i].isDown*/ ); return;
359 }
360 case VideoStop: mediaPlayerState->setPlaying(FALSE); return;
361// case VideoPause: mediaPlayerState->setPaused(videoButtons[i].isDown); return;
362 case VideoNext: mediaPlayerState->setNext(); return;
363 case VideoPrevious: mediaPlayerState->setPrev(); return;
364 case VideoVolUp: return;
365 case VideoVolDown: return;
366 case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
367 }
310 } 368 }
311 } 369 }
312 switch (i) {
313 case VideoPlay: mediaPlayerState->setPlaying(videoButtons[i].isDown); return;
314 case VideoStop: mediaPlayerState->setPlaying(FALSE); return;
315 case VideoPause: mediaPlayerState->setPaused(videoButtons[i].isDown); return;
316 case VideoNext: mediaPlayerState->setNext(); return;
317 case VideoPrevious: mediaPlayerState->setPrev(); return;
318 case VideoPlayList: mediaPlayerState->setList(); return;
319 case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
320 }
321
322 } 370 }
323} 371}
324 372
@@ -371,20 +419,20 @@ void VideoWidget::paintEvent( QPaintEvent * pe) {
371 QPainter p( &pix ); 419 QPainter p( &pix );
372 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() ); 420 p.translate( -pe->rect().topLeft().x(), -pe->rect().topLeft().y() );
373 p.drawTiledPixmap( pe->rect(), *pixBg, pe->rect().topLeft() ); 421 p.drawTiledPixmap( pe->rect(), *pixBg, pe->rect().topLeft() );
374 for ( int i = 0; i < numButtons; i++ ) 422 for ( int i = 0; i < numVButtons; i++ )
375 paintButton( &p, i ); 423 paintButton( &p, i );
376 QPainter p2( this ); 424 QPainter p2( this );
377 p2.drawPixmap( pe->rect().topLeft(), pix ); 425 p2.drawPixmap( pe->rect().topLeft(), pix );
378 } else { 426 } else {
379 QPainter p( this ); 427 QPainter p( this );
380 for ( int i = 0; i < numButtons; i++ ) 428 for ( int i = 0; i < numVButtons; i++ )
381 paintButton( &p, i ); 429 paintButton( &p, i );
382 } 430 }
383// for ( int i = 0; i < numButtons; i++ ) { 431// for ( int i = 0; i < numButtons; i++ ) {
384// paintButton( &p, i ); 432// paintButton( &p, i );
385// } 433// }
386// // draw the slider 434 // draw the slider
387// slider->repaint( TRUE ); 435 slider->repaint( TRUE );
388 } 436 }
389} 437}
390 438
@@ -464,3 +512,12 @@ XineVideoWidget* VideoWidget::vidWidget() {
464void VideoWidget::setFullscreen ( bool b ) { 512void VideoWidget::setFullscreen ( bool b ) {
465 setToggleButton( VideoFullscreen, b ); 513 setToggleButton( VideoFullscreen, b );
466} 514}
515
516void VideoWidget::setPaused( bool b) {
517// setToggleButton( VideoPause, b );
518}
519
520void VideoWidget::setPlaying( bool b) {
521 setToggleButton( VideoPlay, b );
522}
523
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;
41class QSlider; 41class QSlider;
42 42
43enum VideoButtons { 43enum VideoButtons {
44 VideoPrevious,
45 VideoStop, 44 VideoStop,
46 VideoPlay, 45 VideoPlay,
47 VideoPause, 46// VideoPause,
47 VideoPrevious,
48 VideoNext, 48 VideoNext,
49 VideoPlayList, 49 VideoVolUp,
50 VideoVolDown,
50 VideoFullscreen 51 VideoFullscreen
51}; 52};
52 53
@@ -62,8 +63,8 @@ public slots:
62 void updateSlider( long, long ); 63 void updateSlider( long, long );
63 void sliderPressed( ); 64 void sliderPressed( );
64 void sliderReleased( ); 65 void sliderReleased( );
65 void setPaused( bool b) { setToggleButton( VideoPause, b ); } 66 void setPaused( bool b);
66 void setPlaying( bool b) { setToggleButton( VideoPlay, b ); } 67 void setPlaying( bool b);
67 void setFullscreen( bool b ); 68 void setFullscreen( bool b );
68 void makeVisible(); 69 void makeVisible();
69 void setPosition( long ); 70 void setPosition( long );