Diffstat (limited to 'noncore/multimedia/opieplayer2/videowidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/videowidget.cpp | 75 |
1 files changed, 37 insertions, 38 deletions
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 @@ -50,13 +50,12 @@ # define USE_DIRECT_PAINTER # include <qdirectpainter_qws.h> # include <qgfxraster_qws.h> #endif -extern MediaPlayerState *mediaPlayerState; extern PlayListWidget *playList; static const int xo = 2; // movable x offset static const int yo = 0; // movable y offset @@ -79,14 +78,14 @@ const char *skinV_mask_file_names[7] = { "stop","play","back","fwd","up","down","full" }; 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") ); videoFrame = new XineVideoWidget ( this, "Video frame" ); @@ -134,16 +133,16 @@ MediaWidget( parent, name ), scaledWidth( 0 ), scaledHeight( 0 ) { slider->setMaxValue( 1 ); slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) ); //slider->setFocusPolicy( QWidget::NoFocus ); 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() ); } VideoWidget::~VideoWidget() { for ( int i = 0; i < 7; i++ ) { @@ -218,23 +217,23 @@ void VideoWidget::sliderPressed() { void VideoWidget::sliderReleased() { videoSliderBeingMoved = 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 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 ) { if ( displayType == MediaPlayerState::Video ) { makeVisible(); @@ -251,13 +250,13 @@ void VideoWidget::updateSlider( long i, long max ) { // Will flicker too much if we don't do this if ( max == 0 ) { return; } 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 ); } if ( slider->maxValue() != width ) { slider->setMaxValue( width ); } @@ -320,70 +319,70 @@ void VideoWidget::mouseMoveEvent( QMouseEvent *event ) { setToggleButton( i, FALSE ); } 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; } } } } } void VideoWidget::mousePressEvent( QMouseEvent *event ) { mouseMoveEvent( event ); } void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) { - if ( mediaPlayerState->isFullscreen() ) { - mediaPlayerState->setFullscreen( FALSE ); + if ( mediaPlayerState.isFullscreen() ) { + mediaPlayerState.setFullscreen( FALSE ); makeVisible(); } mouseMoveEvent( event ); } void VideoWidget::showEvent( QShowEvent* ) { QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 ); mouseMoveEvent( &event ); } 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() ) ); } else { showNormal(); showMaximized(); @@ -396,37 +395,37 @@ void VideoWidget::makeVisible() { int newW=(w/2)-(246/2); //this will only work with 320x240 videoFrame->setGeometry( QRect( newW, 4, 240, 170 ) ); } else { 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() ) ); } } } void VideoWidget::paintEvent( QPaintEvent * pe) { QPainter p( this ); - if ( mediaPlayerState->isFullscreen() ) { + if ( mediaPlayerState.isFullscreen() ) { // Clear the background p.setBrush( QBrush( Qt::black ) ); } else { if ( !pe->erased() ) { // Combine with background and double buffer QPixmap pix( pe->rect().size() ); @@ -446,13 +445,13 @@ void VideoWidget::paintEvent( QPaintEvent * pe) { //slider->repaint( TRUE ); } } void VideoWidget::closeEvent( QCloseEvent* ) { - mediaPlayerState->setList(); + mediaPlayerState.setList(); } void VideoWidget::keyReleaseEvent( QKeyEvent *e) { switch ( e->key() ) { ////////////////////////////// Zaurus keys @@ -467,16 +466,16 @@ void VideoWidget::keyReleaseEvent( QKeyEvent *e) { break; case Key_F12: //home break; 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; case Key_Down: // toggleButton(6); emit lessClicked(); @@ -487,16 +486,16 @@ void VideoWidget::keyReleaseEvent( QKeyEvent *e) { // toggleButton(5); emit moreClicked(); emit moreReleased(); // toggleButton(5); break; case Key_Right: - mediaPlayerState->setNext(); + mediaPlayerState.setNext(); break; case Key_Left: - mediaPlayerState->setPrev(); + mediaPlayerState.setPrev(); break; case Key_Escape: break; }; } |