summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/videowidget.cpp
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opieplayer2/videowidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp75
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;
};
}