summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/videowidget.cpp
authorsandman <sandman>2002-08-03 23:58:20 (UTC)
committer sandman <sandman>2002-08-03 23:58:20 (UTC)
commit0cecd08dba036f39e414e34a2b7c070008ee3884 (patch) (side-by-side diff)
treec187c9308f0553b1d5d9cd59093bcc3c11740665 /noncore/multimedia/opieplayer2/videowidget.cpp
parent8fb605fdfbbcbc654f567efcb59f02ec0d26228a (diff)
downloadopie-0cecd08dba036f39e414e34a2b7c070008ee3884.zip
opie-0cecd08dba036f39e414e34a2b7c070008ee3884.tar.gz
opie-0cecd08dba036f39e414e34a2b7c070008ee3884.tar.bz2
Added support for fullscreen playback
Diffstat (limited to 'noncore/multimedia/opieplayer2/videowidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp18
1 files changed, 14 insertions, 4 deletions
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index 48caf00..af06079 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -101,43 +101,45 @@ VideoWidget::VideoWidget(QWidget* parent, const char* name, WFlags f) :
pixmaps[0] = new QPixmap( Resource::loadPixmap( Button0aPix ) );
pixmaps[1] = new QPixmap( Resource::loadPixmap( Button0bPix ) );
pixmaps[2] = new QPixmap( Resource::loadPixmap( controlsPix) );
currentFrame = new QImage( 220 + 2, 160, (QPixmap::defaultDepth() == 16) ? 16 : 32 );
slider = new QSlider( Qt::Horizontal, this );
slider->setMinValue( 0 );
slider->setMaxValue( 1 );
slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
slider->setFocusPolicy( QWidget::NoFocus );
slider->setGeometry( QRect( 7, 250, 220, 20 ) );
+ videoFrame = new XineVideoWidget ( this, "Video frame" );
+
+ connect ( videoFrame, SIGNAL( videoResized ( const QSize & )), this, SIGNAL( videoResized ( const QSize & )));
+
connect( slider, SIGNAL( sliderPressed() ), this, SLOT( sliderPressed() ) );
connect( slider, SIGNAL( sliderReleased() ), this, SLOT( sliderReleased() ) );
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) ) );
// Intialise state
setLength( mediaPlayerState->length() );
setPosition( mediaPlayerState->position() );
setFullscreen( mediaPlayerState->fullscreen() );
setPaused( mediaPlayerState->paused() );
setPlaying( mediaPlayerState->playing() );
- videoFrame = new XineVideoWidget( 240, 155 ,this, "Video frame" );
-
}
VideoWidget::~VideoWidget() {
for ( int i = 0; i < 3; i++ ) {
delete pixmaps[i];
}
delete currentFrame;
}
static bool videoSliderBeingMoved = FALSE;
@@ -270,44 +272,46 @@ void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) {
mouseMoveEvent( event );
}
}
void VideoWidget::makeVisible() {
if ( mediaPlayerState->fullscreen() ) {
setBackgroundMode( QWidget::NoBackground );
showFullScreen();
resize( qApp->desktop()->size() );
slider->hide();
+ videoFrame-> setGeometry ( 0, 0, width ( ), height ( ));
} else {
setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
showNormal();
showMaximized();
slider->show();
+ videoFrame->setGeometry( QRect( 10, 20, 220, 160 ) );
}
}
void VideoWidget::paintEvent( QPaintEvent * ) {
QPainter p( this );
if ( mediaPlayerState->fullscreen() ) {
// Clear the background
p.setBrush( QBrush( Qt::black ) );
- videoFrame->setGeometry( QRect( 0, 0 , 240 ,340 ) );
+// videoFrame->setGeometry( QRect( 0, 0 , 240 ,320 ) );
} else {
- videoFrame->setGeometry( QRect( 0, 15 , 240 ,170 ) );
+ // videoFrame->setGeometry( QRect( 0, 15 , 240 ,170 ) );
// draw the buttons
for ( int i = 0; i < numButtons; i++ ) {
paintButton( &p, i );
}
// draw the slider
slider->repaint( TRUE );
}
}
void VideoWidget::closeEvent( QCloseEvent* ) {
@@ -373,12 +377,18 @@ void VideoWidget::keyReleaseEvent( QKeyEvent *e)
break;
case Key_Left:
mediaPlayerState->setPrev();
break;
case Key_Escape:
break;
};
}
XineVideoWidget* VideoWidget::vidWidget() {
return videoFrame;
}
+
+
+void VideoWidget::setFullscreen ( bool b )
+{
+ setToggleButton( VideoFullscreen, b );
+} \ No newline at end of file