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.cpp33
1 files changed, 18 insertions, 15 deletions
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index 4867ef1..06f6cd2 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -91,49 +91,49 @@ VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
QString skinPath = "opieplayer2/skins/" + skin;
backgroundPixmap = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
imgUp = QImage( Resource::loadImage( QString("%1/skinV_up").arg(skinPath) ) );
imgDn = QImage( Resource::loadImage( QString("%1/skinV_down").arg(skinPath) ) );
buttonMask = QImage( imgUp.width(), imgUp.height(), 8, 255 );
buttonMask.fill( 0 );
for ( uint i = 0; i < buttonCount; i++ ) {
Button button;
button.command = skinInfo[ i ].command;
button.type = skinInfo[ i ].type;
QString filename = QString( QPEApplication::qpeDir() + "/pics/" + skinPath + "/skinV_mask_" + skinInfo[i].fileName + ".png" );
button.mask =QBitmap( filename );
if ( !button.mask.isNull() ) {
QImage imgMask = button.mask.convertToImage();
uchar **dest = buttonMask.jumpTable();
for ( int y = 0; y < imgUp.height(); y++ ) {
uchar *line = dest[y];
for ( int x = 0; x < imgUp.width(); x++ )
if ( !qRed( imgMask.pixel( x, y ) ) )
- line[x] = i + 1;
+ line[x] = button.command + 1;
}
}
buttons.push_back( button );
}
setBackgroundPixmap( backgroundPixmap );
slider = new QSlider( Qt::Horizontal, this );
slider->setMinValue( 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() );
}
VideoWidget::~VideoWidget()
@@ -226,99 +226,102 @@ void VideoWidget::setDisplayType( MediaPlayerState::DisplayType displayType )
hide();
}
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 ( slider->value() != val ) {
slider->setValue( val );
}
if ( slider->maxValue() != width ) {
slider->setMaxValue( width );
}
}
}
void VideoWidget::mouseMoveEvent( QMouseEvent *event ) {
for ( unsigned int i = 0; i < buttons.size(); i++ ) {
Button &button = buttons[ i ];
+ Command command = button.command;
if ( event->state() == QMouseEvent::LeftButton ) {
// The test to see if the mouse click is inside the button or not
- bool isOnButton = isOverButton( event->pos() - upperLeftOfButtonMask, i );
+ bool isOnButton = isOverButton( event->pos() - upperLeftOfButtonMask, command );
if ( isOnButton && !button.isHeld ) {
button.isHeld = TRUE;
toggleButton( button );
- switch (i) {
- case VideoVolUp:
+ switch ( command ) {
+ case VolumeUp:
emit moreClicked();
return;
- case VideoVolDown:
+ case VolumeDown:
emit lessClicked();
return;
+ default: break;
}
} else if ( !isOnButton && button.isHeld ) {
button.isHeld = FALSE;
toggleButton( button );
}
} else {
if ( button.isHeld ) {
button.isHeld = FALSE;
if ( button.type != ToggleButton ) {
setToggleButton( button, FALSE );
}
- switch(i) {
+ switch( command ) {
- case VideoPlay: {
+ case Play: {
if( mediaPlayerState.isPaused() ) {
setToggleButton( button, FALSE );
mediaPlayerState.setPaused( FALSE );
return;
} else if( !mediaPlayerState.isPaused() ) {
setToggleButton( button, 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 VideoVolUp: emit moreReleased(); return;
- case VideoVolDown: emit lessReleased(); return;
- case VideoFullscreen: mediaPlayerState.setFullscreen( TRUE ); makeVisible(); return;
+ case Stop: mediaPlayerState.setPlaying( FALSE ); return;
+ case Next: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return;
+ case Previous: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return;
+ case VolumeUp: emit moreReleased(); return;
+ case VolumeDown: emit lessReleased(); return;
+ case FullScreen: mediaPlayerState.setFullscreen( TRUE ); makeVisible(); return;
+ default: break;
}
}
}
}
}
void VideoWidget::mousePressEvent( QMouseEvent *event ) {
mouseMoveEvent( event );
}
void VideoWidget::mouseReleaseEvent( QMouseEvent *event ) {
if ( mediaPlayerState.isFullscreen() ) {
mediaPlayerState.setFullscreen( FALSE );
makeVisible();
}
mouseMoveEvent( event );
}
void VideoWidget::showEvent( QShowEvent* ) {
QMouseEvent event( QEvent::MouseMove, QPoint( 0, 0 ), 0, 0 );
mouseMoveEvent( &event );
}
@@ -406,32 +409,32 @@ void VideoWidget::keyReleaseEvent( QKeyEvent *e) {
case Key_Up:
// toggleButton(5);
emit moreClicked();
emit moreReleased();
// toggleButton(5);
break;
case Key_Right:
mediaPlayerState.setNext();
break;
case Key_Left:
mediaPlayerState.setPrev();
break;
case Key_Escape:
break;
};
}
XineVideoWidget* VideoWidget::vidWidget() {
return videoFrame;
}
void VideoWidget::setFullscreen ( bool b ) {
- setToggleButton( buttons[ VideoFullscreen ], b );
+ setToggleButton( FullScreen, b );
}
void VideoWidget::setPlaying( bool b) {
- setToggleButton( buttons[ VideoPlay ], b );
+ setToggleButton( Play, b );
}