From 6cd1494f86f2f60614c9b9a7b959666dec2500ee Mon Sep 17 00:00:00 2001 From: simon Date: Mon, 02 Dec 2002 20:32:42 +0000 Subject: - the audiowidget and the videowidget don't rely on the mediaplayerstate singleton anymore --- diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp index f4edb79..d9beb90 100644 --- a/noncore/multimedia/opieplayer2/audiowidget.cpp +++ b/noncore/multimedia/opieplayer2/audiowidget.cpp @@ -50,7 +50,6 @@ #include "mediaplayerstate.h" #include "playlistwidget.h" -extern MediaPlayerState *mediaPlayerState; extern PlayListWidget *playList; static const int xo = -2; // movable x offset @@ -90,9 +89,9 @@ static void changeTextColor( QWidget *w ) { static const int numButtons = (sizeof(audioButtons)/sizeof(MediaButton)); -AudioWidget::AudioWidget(QWidget* parent, const char* name) : +AudioWidget::AudioWidget( MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name) : - MediaWidget( parent, name ), songInfo( this ), slider( Qt::Horizontal, this ), time( this ) { + MediaWidget( mediaPlayerState, parent, name ), songInfo( this ), slider( Qt::Horizontal, this ), time( this ) { setCaption( tr("OpiePlayer") ); @@ -159,8 +158,8 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name) : resizeEvent( NULL ); - connect( mediaPlayerState, SIGNAL( loopingToggled(bool) ), this, SLOT( setLooping(bool) ) ); - connect( mediaPlayerState, SIGNAL( isSeekableToggled( bool ) ), this, SLOT( setSeekable( bool ) ) ); + connect( &mediaPlayerState, SIGNAL( loopingToggled(bool) ), this, SLOT( setLooping(bool) ) ); + connect( &mediaPlayerState, SIGNAL( isSeekableToggled( bool ) ), this, SLOT( setSeekable( bool ) ) ); connect( this, SIGNAL( forwardClicked() ), this, SLOT( skipFor() ) ); connect( this, SIGNAL( backClicked() ), this, SLOT( skipBack() ) ); @@ -168,11 +167,11 @@ AudioWidget::AudioWidget(QWidget* parent, const char* name) : connect( this, SIGNAL( backReleased() ), this, SLOT( stopSkip() ) ); // Intialise state - setLength( mediaPlayerState->length() ); - setPosition( mediaPlayerState->position() ); - setLooping( mediaPlayerState->isFullscreen() ); + setLength( mediaPlayerState.length() ); + setPosition( mediaPlayerState.position() ); + setLooping( mediaPlayerState.isFullscreen() ); // setPaused( mediaPlayerState->paused() ); - setPlaying( mediaPlayerState->isPlaying() ); + setPlaying( mediaPlayerState.isPlaying() ); } @@ -246,18 +245,18 @@ void AudioWidget::sliderReleased() { audioSliderBeingMoved = FALSE; if ( slider.width() == 0 ) return; - long val = long((double)slider.value() * mediaPlayerState->length() / slider.width()); - mediaPlayerState->setPosition( val ); + long val = long((double)slider.value() * mediaPlayerState.length() / slider.width()); + mediaPlayerState.setPosition( val ); } void AudioWidget::setPosition( long i ) { // qDebug("<<<<<<<<<<<<<<<<<<<<<<<length() ); + updateSlider( i, mediaPlayerState.length() ); } void AudioWidget::setLength( long max ) { - updateSlider( mediaPlayerState->position(), max ); + updateSlider( mediaPlayerState.position(), max ); } @@ -280,8 +279,8 @@ void AudioWidget::setSeekable( bool isSeekable ) { if( !slider.isHidden()) { slider.hide(); } - disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); - disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); + disconnect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); + disconnect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); disconnect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); disconnect( &slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); } else { @@ -289,8 +288,8 @@ void AudioWidget::setSeekable( bool isSeekable ) { // does not stop stream when it reaches the end slider.show(); qDebug( " CONNECT SET POSTION " ); - connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); - connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); + connect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); + connect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); connect( &slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); connect( &slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); } @@ -354,13 +353,13 @@ void AudioWidget::paintButton( QPainter *p, int i ) { void AudioWidget::skipFor() { skipDirection = +1; startTimer( 50 ); - mediaPlayerState->setPosition( mediaPlayerState->position() + 2 ); + mediaPlayerState.setPosition( mediaPlayerState.position() + 2 ); } void AudioWidget::skipBack() { skipDirection = -1; startTimer( 50 ); - mediaPlayerState->setPosition( mediaPlayerState->position() - 2 ); + mediaPlayerState.setPosition( mediaPlayerState.position() - 2 ); } @@ -372,9 +371,9 @@ void AudioWidget::stopSkip() { void AudioWidget::timerEvent( QTimerEvent * ) { if ( skipDirection == +1 ) { - mediaPlayerState->setPosition( mediaPlayerState->position() + 2 ); + mediaPlayerState.setPosition( mediaPlayerState.position() + 2 ); } else if ( skipDirection == -1 ) { - mediaPlayerState->setPosition( mediaPlayerState->position() - 2 ); + mediaPlayerState.setPosition( mediaPlayerState.position() - 2 ); } } @@ -420,20 +419,20 @@ void AudioWidget::mouseMoveEvent( QMouseEvent *event ) { qDebug("mouseEvent %d", i); switch (i) { case AudioPlay: - if( mediaPlayerState->isPaused() ) { - mediaPlayerState->setPaused( FALSE ); + if( mediaPlayerState.isPaused() ) { + mediaPlayerState.setPaused( FALSE ); return; - } else if( !mediaPlayerState->isPaused() ) { - mediaPlayerState->setPaused( TRUE ); + } else if( !mediaPlayerState.isPaused() ) { + mediaPlayerState.setPaused( TRUE ); return; } - case AudioStop: mediaPlayerState->setPlaying(FALSE); return; - case AudioNext: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState->setNext(); return; - case AudioPrevious: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState->setPrev(); return; - case AudioLoop: mediaPlayerState->setLooping(audioButtons[i].isDown); return; + case AudioStop: mediaPlayerState.setPlaying(FALSE); return; + case AudioNext: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; + case AudioPrevious: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; + case AudioLoop: mediaPlayerState.setLooping(audioButtons[i].isDown); return; case AudioVolumeUp: emit moreReleased(); return; case AudioVolumeDown: emit lessReleased(); return; - case AudioPlayList: mediaPlayerState->setList(); return; + case AudioPlayList: mediaPlayerState.setList(); return; case AudioForward: emit forwardReleased(); return; case AudioBack: emit backReleased(); return; } @@ -460,7 +459,7 @@ void AudioWidget::showEvent( QShowEvent* ) { void AudioWidget::closeEvent( QCloseEvent* ) { - mediaPlayerState->setList(); + mediaPlayerState.setList(); } @@ -494,21 +493,21 @@ void AudioWidget::keyReleaseEvent( QKeyEvent *e) { case Key_F10: //contacts break; case Key_F11: //menu - mediaPlayerState->toggleBlank(); + mediaPlayerState.toggleBlank(); break; case Key_F12: //home break; case Key_F13: //mail - mediaPlayerState->toggleBlank(); + mediaPlayerState.toggleBlank(); break; case Key_Space: { - if(mediaPlayerState->isPlaying()) { + if(mediaPlayerState.isPlaying()) { // toggleButton(1); - mediaPlayerState->setPlaying(FALSE); + mediaPlayerState.setPlaying(FALSE); // toggleButton(1); } else { // toggleButton(0); - mediaPlayerState->setPlaying(TRUE); + mediaPlayerState.setPlaying(TRUE); // toggleButton(0); } } @@ -527,12 +526,12 @@ void AudioWidget::keyReleaseEvent( QKeyEvent *e) { break; case Key_Right: // toggleButton(3); - mediaPlayerState->setNext(); + mediaPlayerState.setNext(); // toggleButton(3); break; case Key_Left: // toggleButton(4); - mediaPlayerState->setPrev(); + mediaPlayerState.setPrev(); // toggleButton(4); break; case Key_Escape: { diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h index 83927f1..087d711 100644 --- a/noncore/multimedia/opieplayer2/audiowidget.h +++ b/noncore/multimedia/opieplayer2/audiowidget.h @@ -68,7 +68,7 @@ enum AudioButtons { class AudioWidget : public MediaWidget { Q_OBJECT public: - AudioWidget( QWidget* parent=0, const char* name=0 ); + AudioWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); ~AudioWidget(); void setTickerText( const QString &text ) { songInfo.setText( text ); } public slots: diff --git a/noncore/multimedia/opieplayer2/main.cpp b/noncore/multimedia/opieplayer2/main.cpp index 02fdbf3..fd47ea5 100644 --- a/noncore/multimedia/opieplayer2/main.cpp +++ b/noncore/multimedia/opieplayer2/main.cpp @@ -19,9 +19,9 @@ int main(int argc, char **argv) { PlayListWidget pl( st, 0, "playList" ); playList = &pl; pl.showMaximized(); - AudioWidget aw( 0, "audioUI" ); + AudioWidget aw( st, 0, "audioUI" ); audioUI = &aw; - VideoWidget vw( 0, "videoUI" ); + VideoWidget vw( st, 0, "videoUI" ); videoUI = &vw; a.processEvents(); MediaPlayer mp( st, 0, "mediaPlayer" ); diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp index 83456a0..d58e87e 100644 --- a/noncore/multimedia/opieplayer2/mediawidget.cpp +++ b/noncore/multimedia/opieplayer2/mediawidget.cpp @@ -22,14 +22,14 @@ extern MediaPlayerState *mediaPlayerState; -MediaWidget::MediaWidget( QWidget *parent, const char *name ) - : QWidget( parent, name ) +MediaWidget::MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent, const char *name ) + : QWidget( parent, name ), mediaPlayerState( _mediaPlayerState ) { - connect( mediaPlayerState, SIGNAL( displayTypeChanged( MediaPlayerState::DisplayType ) ), + connect( &mediaPlayerState, SIGNAL( displayTypeChanged( MediaPlayerState::DisplayType ) ), this, SLOT( setDisplayType( MediaPlayerState::DisplayType ) ) ); - connect( mediaPlayerState, SIGNAL( lengthChanged( long ) ), + connect( &mediaPlayerState, SIGNAL( lengthChanged( long ) ), this, SLOT( setLength( long ) ) ); - connect( mediaPlayerState, SIGNAL( playingToggled( bool ) ), + connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ), this, SLOT( setPlaying( bool ) ) ); } diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h index fc5198e..64adba9 100644 --- a/noncore/multimedia/opieplayer2/mediawidget.h +++ b/noncore/multimedia/opieplayer2/mediawidget.h @@ -28,13 +28,16 @@ class MediaWidget : public QWidget { Q_OBJECT public: - MediaWidget( QWidget *parent = 0, const char *name = 0 ); + MediaWidget( MediaPlayerState &_mediaPlayerState, QWidget *parent = 0, const char *name = 0 ); virtual ~MediaWidget(); public slots: virtual void setDisplayType( MediaPlayerState::DisplayType displayType ) = 0; virtual void setLength( long length ) = 0; virtual void setPlaying( bool playing ) = 0; + +protected: + MediaPlayerState &mediaPlayerState; }; #endif // MEDIAWIDGET_H diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp index e0ca243..b4ecb4c 100644 --- a/noncore/multimedia/opieplayer2/videowidget.cpp +++ b/noncore/multimedia/opieplayer2/videowidget.cpp @@ -53,7 +53,6 @@ #endif -extern MediaPlayerState *mediaPlayerState; extern PlayListWidget *playList; @@ -82,8 +81,8 @@ const char *skinV_mask_file_names[7] = { static const int numVButtons = (sizeof(videoButtons)/sizeof(MediaButton)); -VideoWidget::VideoWidget(QWidget* parent, const char* name) : -MediaWidget( parent, name ), scaledWidth( 0 ), scaledHeight( 0 ) { +VideoWidget::VideoWidget(MediaPlayerState &mediaPlayerState, QWidget* parent, const char* name) : +MediaWidget( mediaPlayerState, parent, name ), scaledWidth( 0 ), scaledHeight( 0 ) { setCaption( tr("OpiePlayer - Video") ); @@ -137,10 +136,10 @@ MediaWidget( parent, name ), scaledWidth( 0 ), scaledHeight( 0 ) { resizeEvent( NULL ); - setLength( mediaPlayerState->length() ); - setPosition( mediaPlayerState->position() ); - setFullscreen( mediaPlayerState->isFullscreen() ); - setPlaying( mediaPlayerState->isPlaying() ); + setLength( mediaPlayerState.length() ); + setPosition( mediaPlayerState.position() ); + setFullscreen( mediaPlayerState.isFullscreen() ); + setPlaying( mediaPlayerState.isPlaying() ); } @@ -221,17 +220,17 @@ void VideoWidget::sliderReleased() { if ( slider->width() == 0 ) { return; } - long val = long((double)slider->value() * mediaPlayerState->length() / slider->width()); - mediaPlayerState->setPosition( val ); + long val = long((double)slider->value() * mediaPlayerState.length() / slider->width()); + mediaPlayerState.setPosition( val ); } void VideoWidget::setPosition( long i ) { - updateSlider( i, mediaPlayerState->length() ); + updateSlider( i, mediaPlayerState.length() ); } void VideoWidget::setLength( long max ) { - updateSlider( mediaPlayerState->position(), max ); + updateSlider( mediaPlayerState.position(), max ); } void VideoWidget::setDisplayType( MediaPlayerState::DisplayType displayType ) @@ -254,7 +253,7 @@ void VideoWidget::updateSlider( long i, long max ) { } int width = slider->width(); int val = int((double)i * width / max); - if ( !mediaPlayerState->isFullscreen() && !videoSliderBeingMoved ) { + if ( !mediaPlayerState.isFullscreen() && !videoSliderBeingMoved ) { if ( slider->value() != val ) { slider->setValue( val ); } @@ -323,25 +322,25 @@ void VideoWidget::mouseMoveEvent( QMouseEvent *event ) { switch(i) { case VideoPlay: { - if( mediaPlayerState->isPaused() ) { + if( mediaPlayerState.isPaused() ) { setToggleButton( i, FALSE ); - mediaPlayerState->setPaused( FALSE ); + mediaPlayerState.setPaused( FALSE ); return; - } else if( !mediaPlayerState->isPaused() ) { + } else if( !mediaPlayerState.isPaused() ) { setToggleButton( i, TRUE ); - mediaPlayerState->setPaused( TRUE ); + mediaPlayerState.setPaused( TRUE ); return; } else { return; } } - case VideoStop: mediaPlayerState->setPlaying( FALSE ); return; - case VideoNext: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState->setNext(); return; - case VideoPrevious: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState->setPrev(); return; + case VideoStop: mediaPlayerState.setPlaying( FALSE ); return; + case VideoNext: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; + case VideoPrevious: if( playList->currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; case VideoVolUp: emit moreReleased(); return; case VideoVolDown: emit lessReleased(); return; - case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return; + case VideoFullscreen: mediaPlayerState.setFullscreen( TRUE ); makeVisible(); return; } } } @@ -353,8 +352,8 @@ void VideoWidget::mousePressEvent( QMouseEvent *event ) { } void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) { - if ( mediaPlayerState->isFullscreen() ) { - mediaPlayerState->setFullscreen( FALSE ); + if ( mediaPlayerState.isFullscreen() ) { + mediaPlayerState.setFullscreen( FALSE ); makeVisible(); } mouseMoveEvent( event ); @@ -367,20 +366,20 @@ void VideoWidget::showEvent( QShowEvent* ) { void VideoWidget::backToNormal() { - mediaPlayerState->setFullscreen( FALSE ); + mediaPlayerState.setFullscreen( FALSE ); makeVisible(); } void VideoWidget::makeVisible() { - if ( mediaPlayerState->isFullscreen() ) { + if ( mediaPlayerState.isFullscreen() ) { setBackgroundMode( QWidget::NoBackground ); showFullScreen(); resize( qApp->desktop()->size() ); videoFrame-> setGeometry ( 0, 0, width ( ), height ( )); slider->hide(); - disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); - disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); + disconnect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); + disconnect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); disconnect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); disconnect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); @@ -399,18 +398,18 @@ void VideoWidget::makeVisible() { videoFrame->setGeometry( QRect( 0, 30, 240, 170 ) ); } - if ( !mediaPlayerState->isSeekable() ) { + if ( !mediaPlayerState.isSeekable() ) { if( !slider->isHidden()) { slider->hide(); } - disconnect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); - disconnect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); + disconnect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); + disconnect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); disconnect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); disconnect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); } else { slider->show(); - connect( mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); - connect( mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); + connect( &mediaPlayerState, SIGNAL( positionChanged(long) ),this, SLOT( setPosition(long) ) ); + connect( &mediaPlayerState, SIGNAL( positionUpdated(long) ),this, SLOT( setPosition(long) ) ); connect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) ); connect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) ); } @@ -423,7 +422,7 @@ void VideoWidget::makeVisible() { void VideoWidget::paintEvent( QPaintEvent * pe) { QPainter p( this ); - if ( mediaPlayerState->isFullscreen() ) { + if ( mediaPlayerState.isFullscreen() ) { // Clear the background p.setBrush( QBrush( Qt::black ) ); } else { @@ -449,7 +448,7 @@ void VideoWidget::paintEvent( QPaintEvent * pe) { void VideoWidget::closeEvent( QCloseEvent* ) { - mediaPlayerState->setList(); + mediaPlayerState.setList(); } @@ -470,10 +469,10 @@ void VideoWidget::keyReleaseEvent( QKeyEvent *e) { case Key_F13: //mail break; case Key_Space: { - if(mediaPlayerState->isPlaying()) { - mediaPlayerState->setPlaying(FALSE); + if(mediaPlayerState.isPlaying()) { + mediaPlayerState.setPlaying(FALSE); } else { - mediaPlayerState->setPlaying(TRUE); + mediaPlayerState.setPlaying(TRUE); } } break; @@ -490,10 +489,10 @@ void VideoWidget::keyReleaseEvent( QKeyEvent *e) { // toggleButton(5); break; case Key_Right: - mediaPlayerState->setNext(); + mediaPlayerState.setNext(); break; case Key_Left: - mediaPlayerState->setPrev(); + mediaPlayerState.setPrev(); break; case Key_Escape: break; diff --git a/noncore/multimedia/opieplayer2/videowidget.h b/noncore/multimedia/opieplayer2/videowidget.h index 816ce2e..38eb726 100644 --- a/noncore/multimedia/opieplayer2/videowidget.h +++ b/noncore/multimedia/opieplayer2/videowidget.h @@ -56,7 +56,7 @@ enum VideoButtons { class VideoWidget : public MediaWidget { Q_OBJECT public: - VideoWidget( QWidget* parent=0, const char* name=0 ); + VideoWidget( MediaPlayerState &mediaPlayerState, QWidget* parent=0, const char* name=0 ); ~VideoWidget(); -- cgit v0.9.0.2