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.cpp38
1 files changed, 23 insertions, 15 deletions
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index bce6b89..48caf00 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -65,86 +65,91 @@ struct MediaButton {
};
// Layout information for the videoButtons (and if it is a toggle button or not)
MediaButton videoButtons[] = {
{ 5+0*32+xo, 200+yo, FALSE, FALSE, FALSE, 4 }, // previous
{ 5+1*32+xo, 200+yo, FALSE, FALSE, FALSE, 1 }, // stop
{ 5+2*32+xo, 200+yo, TRUE, FALSE, FALSE, 0 }, // play
{ 5+3*32+xo, 200+yo, TRUE, FALSE, FALSE, 2 }, // pause
{ 5+4*32+xo, 200+yo, FALSE, FALSE, FALSE, 3 }, // next
{ 5+5*32+xo, 200+yo, FALSE, FALSE, FALSE, 8 }, // playlist
{ 5+6*32+xo, 200+yo, TRUE, FALSE, FALSE, 9 } // fullscreen
};
static const int numButtons = (sizeof(videoButtons)/sizeof(MediaButton));
VideoWidget::VideoWidget(QWidget* parent, const char* name, WFlags f) :
QWidget( parent, name, f ), scaledWidth( 0 ), scaledHeight( 0 ) {
setCaption( tr("OpiePlayer - Video") );
Config cfg("OpiePlayer");
cfg.setGroup("VideoWidget");
- QString backgroundPix, Button0aPix, Button0bPix, controlsPix;
- backgroundPix=cfg.readEntry( "backgroundPix", "opieplayer/metalFinish");
+ QString Button0aPix, Button0bPix, controlsPix;
+ //backgroundPix=cfg.readEntry( "backgroundPix", "opieplayer/metalFinish");
Button0aPix=cfg.readEntry( "Button0aPix", "opieplayer/mediaButton0a");
Button0bPix=cfg.readEntry( "Button0bPix","opieplayer/mediaButton0b");
controlsPix=cfg.readEntry( "controlsPix","opieplayer/mediaControls0" );
+ cfg.setGroup("AudioWidget");
+ QString skin = cfg.readEntry("Skin","default");
+ QString skinPath = "opieplayer/skins/" + skin;
+ backgroundPix = QString("%1/background").arg(skinPath) ;
+
setBackgroundPixmap( Resource::loadPixmap( backgroundPix) );
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 ) );
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" );
- videoFrame->setGeometry( QRect( 0, 15 , 240 ,170 ) );
+
}
VideoWidget::~VideoWidget() {
for ( int i = 0; i < 3; i++ ) {
delete pixmaps[i];
}
delete currentFrame;
}
static bool videoSliderBeingMoved = FALSE;
void VideoWidget::sliderPressed() {
videoSliderBeingMoved = TRUE;
}
void VideoWidget::sliderReleased() {
videoSliderBeingMoved = FALSE;
if ( slider->width() == 0 ) {
return;
}
@@ -248,72 +253,75 @@ void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
case VideoPlayList: mediaPlayerState->setList(); return;
case VideoFullscreen: mediaPlayerState->setFullscreen( TRUE ); makeVisible(); return;
}
}
}
void VideoWidget::mousePressEvent( QMouseEvent *event ) {
mouseMoveEvent( event );
}
void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) {
if ( mediaPlayerState->fullscreen() ) {
mediaPlayerState->setFullscreen( FALSE );
makeVisible();
mouseMoveEvent( event );
}
}
void VideoWidget::makeVisible() {
- if ( mediaPlayerState->fullscreen() ) {
- setBackgroundMode( QWidget::NoBackground );
- showFullScreen();
- resize( qApp->desktop()->size() );
- slider->hide();
- } else {
- setBackgroundPixmap( Resource::loadPixmap( "opieplayer/metalFinish" ) );
- showNormal();
- showMaximized();
- slider->show();
- }
+ if ( mediaPlayerState->fullscreen() ) {
+ setBackgroundMode( QWidget::NoBackground );
+ showFullScreen();
+ resize( qApp->desktop()->size() );
+ slider->hide();
+ } else {
+ setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
+ showNormal();
+ showMaximized();
+ slider->show();
+ }
}
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 ) );
-
+
} else {
+
+ 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* ) {
mediaPlayerState->setList();
}
bool VideoWidget::playVideo() {
bool result = FALSE;
int stream = 0;
int sw = 240;
int sh = 320;
int dd = QPixmap::defaultDepth();
int w = height();
int h = width();