author | simon <simon> | 2002-12-09 15:57:34 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-09 15:57:34 (UTC) |
commit | f676d71c1fe40539ceb0c0708fdaefcc9b5e1800 (patch) (side-by-side diff) | |
tree | 5298119bdbd8bffafcd1a31aed1c6fbcb908d3bc | |
parent | 743155915f659d701ad468eadcc2b2173b6e2770 (diff) | |
download | opie-f676d71c1fe40539ceb0c0708fdaefcc9b5e1800.zip opie-f676d71c1fe40539ceb0c0708fdaefcc9b5e1800.tar.gz opie-f676d71c1fe40539ceb0c0708fdaefcc9b5e1800.tar.bz2 |
- back to a vector :P
-rw-r--r-- | noncore/multimedia/opieplayer2/audiowidget.cpp | 7 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/mediawidget.cpp | 3 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/mediawidget.h | 10 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/videowidget.cpp | 16 |
4 files changed, 19 insertions, 17 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp index 714509e..c3e206c 100644 --- a/noncore/multimedia/opieplayer2/audiowidget.cpp +++ b/noncore/multimedia/opieplayer2/audiowidget.cpp @@ -99,33 +99,34 @@ AudioWidget::AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye imgUp = QImage( Resource::loadImage( QString("%1/skin_up").arg(skinPath) ) ); imgDn = QImage( Resource::loadImage( QString("%1/skin_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 + "/skin_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; } } - buttons.insert( i, button ); + buttons.push_back( button ); } setBackgroundPixmap( backgroundPixmap ); songInfo.setFocusPolicy( QWidget::NoFocus ); // changeTextColor( &songInfo ); // songInfo.setBackgroundColor( QColor( 167, 212, 167 )); // songInfo.setFrameStyle( QFrame::NoFrame); @@ -203,17 +204,17 @@ void AudioWidget::resizeEvent( QResizeEvent * ) { upperLeftOfButtonMask.rx() = ( w - imgUp.width() ) / 2; upperLeftOfButtonMask.ry() = (( h - imgUp.height() ) / 2) - 10; QPoint p = upperLeftOfButtonMask; QPixmap pixUp = combineImageWithBackground( imgUp, backgroundPixmap, p ); QPixmap pixDn = combineImageWithBackground( imgDn, backgroundPixmap, p ); - for ( uint i = 0; i < buttons.count(); i++ ) { + for ( uint i = 0; i < buttons.size(); i++ ) { if ( !buttons[i].mask.isNull() ) { buttons[i].pixUp = maskPixToMask( pixUp, buttons[i].mask ); buttons[i].pixDown = maskPixToMask( pixDn, buttons[i].mask ); } } } void AudioWidget::sliderPressed() { @@ -329,17 +330,17 @@ void AudioWidget::timerEvent( QTimerEvent * ) { mediaPlayerState.setPosition( mediaPlayerState.position() + 2 ); } else if ( skipDirection == -1 ) { mediaPlayerState.setPosition( mediaPlayerState.position() - 2 ); } } void AudioWidget::mouseMoveEvent( QMouseEvent *event ) { - for ( unsigned int i = 0; i < buttons.count(); i++ ) { + for ( unsigned int i = 0; i < buttons.size(); i++ ) { Button &button = buttons[ i ]; 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 ); if ( isOnButton && !button.isHeld ) { diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp index 66129c9..7891a7e 100644 --- a/noncore/multimedia/opieplayer2/mediawidget.cpp +++ b/noncore/multimedia/opieplayer2/mediawidget.cpp @@ -77,30 +77,31 @@ void MediaWidget::handleCommand( Command command, bool buttonDown ) case Next: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setNext(); return; case Previous: if( playList.currentTab() == PlayListWidget::CurrentPlayList ) mediaPlayerState.setPrev(); return; case Loop: mediaPlayerState.setLooping( buttonDown ); return; case VolumeUp: emit moreReleased(); return; case VolumeDown: emit lessReleased(); return; case PlayList: mediaPlayerState.setList(); return; case Forward: emit forwardReleased(); return; case Back: emit backReleased(); return; + default: assert( false ); } } bool MediaWidget::isOverButton( const QPoint &position, int buttonId ) const { return ( position.x() > 0 && position.y() > 0 && position.x() < buttonMask.width() && position.y() < buttonMask.height() && buttonMask.pixelIndex( position.x(), position.y() ) == buttonId + 1 ); } void MediaWidget::paintAllButtons( QPainter &p ) { - for ( ButtonMap::ConstIterator it = buttons.begin(); + for ( ButtonVector::const_iterator it = buttons.begin(); it != buttons.end(); ++it ) paintButton( p, *it ); } void MediaWidget::paintButton( const Button &button ) { QPainter p( this ); paintButton( p, button ); diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h index 05b7b71..efba6f3 100644 --- a/noncore/multimedia/opieplayer2/mediawidget.h +++ b/noncore/multimedia/opieplayer2/mediawidget.h @@ -30,34 +30,34 @@ #include "playlistwidget.h" #include <vector> class MediaWidget : public QWidget { Q_OBJECT public: - enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back }; + enum Command { Play = 0, Stop, Next, Previous, VolumeUp, VolumeDown, Loop, PlayList, Forward, Back, Undefined }; enum ButtonType { NormalButton, ToggleButton }; struct Button { - Button() : type( NormalButton ), isHeld( false ), isDown( false ) {} + Button() : command( Undefined ), type( NormalButton ), isHeld( false ), isDown( false ) {} + + Command command; ButtonType type : 1; bool isHeld : 1; bool isDown : 1; QBitmap mask; QPixmap pixUp; QPixmap pixDown; }; typedef std::vector<Button> ButtonVector; - // when the transition is done this should be Command -> Button - typedef QMap<int, Button> ButtonMap; struct SkinButtonInfo { Command command; const char *fileName; ButtonType type; }; @@ -92,17 +92,17 @@ protected: void paintButton( QPainter &p, const Button &button ); void setToggleButton( Button &button, bool down ); void toggleButton( Button &button ); MediaPlayerState &mediaPlayerState; PlayListWidget &playList; - ButtonMap buttons; + ButtonVector buttons; QImage buttonMask; QPoint upperLeftOfButtonMask; QPixmap backgroundPixmap; }; diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp index 9782b68..f59772e 100644 --- a/noncore/multimedia/opieplayer2/videowidget.cpp +++ b/noncore/multimedia/opieplayer2/videowidget.cpp @@ -69,23 +69,23 @@ VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye : MediaWidget( playList, mediaPlayerState, parent, name ), scaledWidth( 0 ), scaledHeight( 0 ) { setCaption( tr("OpiePlayer - Video") ); Button defaultButton; Button toggleButton = defaultButton; toggleButton.type = ToggleButton; - buttons.insert( 0, toggleButton ); // play - buttons.insert( 1, toggleButton ); // stop - buttons.insert( 2, toggleButton ); // next - buttons.insert( 3, toggleButton ); // previous - buttons.insert( 4, toggleButton ); // volUp - buttons.insert( 5, toggleButton ); // volDown - buttons.insert( 6, toggleButton ); // fullscreen + buttons.push_back( toggleButton ); // play + buttons.push_back( toggleButton ); // stop + buttons.push_back( toggleButton ); // next + buttons.push_back( toggleButton ); // previous + buttons.push_back( toggleButton ); // volUp + buttons.push_back( toggleButton ); // volDown + buttons.push_back( toggleButton ); // fullscreen videoFrame = new XineVideoWidget ( this, "Video frame" ); connect ( videoFrame, SIGNAL( videoResized ( const QSize & )), this, SIGNAL( videoResized ( const QSize & ))); connect ( videoFrame, SIGNAL( clicked () ), this, SLOT ( backToNormal() ) ); Config cfg("OpiePlayer"); cfg.setGroup("Options"); @@ -238,17 +238,17 @@ void VideoWidget::updateSlider( long i, long max ) { } if ( slider->maxValue() != width ) { slider->setMaxValue( width ); } } } void VideoWidget::mouseMoveEvent( QMouseEvent *event ) { - for ( unsigned int i = 0; i < buttons.count(); i++ ) { + for ( unsigned int i = 0; i < buttons.size(); i++ ) { Button &button = buttons[ i ]; 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 ); if ( isOnButton && !button.isHeld ) { |