-rw-r--r-- | noncore/multimedia/opieplayer2/audiowidget.cpp | 19 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/audiowidget.h | 4 |
2 files changed, 12 insertions, 11 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp index adef247..fe7ddc1 100644 --- a/noncore/multimedia/opieplayer2/audiowidget.cpp +++ b/noncore/multimedia/opieplayer2/audiowidget.cpp @@ -110,12 +110,14 @@ AudioWidget::AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye buttonMask = QImage( imgUp.width(), imgUp.height(), 8, 255 ); buttonMask.fill( 0 ); - for ( int i = 0; i < 10; i++ ) { + masks.reserve( 10 ); + + for ( uint i = 0; i < masks.capacity(); i++ ) { QString filename = QString( QPEApplication::qpeDir() + "/pics/" + skinPath + "/skin_mask_" + skin_mask_file_names[i] + ".png" ); - masks[i] = new QBitmap( filename ); + masks.push_back( QBitmap( filename ) ); - if ( !masks[i]->isNull() ) { - QImage imgMask = masks[i]->convertToImage(); + if ( !masks[i].isNull() ) { + QImage imgMask = masks[i].convertToImage(); uchar **dest = buttonMask.jumpTable(); for ( int y = 0; y < imgUp.height(); y++ ) { uchar *line = dest[y]; @@ -182,9 +184,6 @@ AudioWidget::~AudioWidget() { delete buttonPixUp[i]; delete buttonPixDown[i]; } - for ( int i = 0; i < 10; i++ ) { - delete masks[i]; - } // mediaPlayerState->setPlaying(false); } @@ -225,11 +224,11 @@ void AudioWidget::resizeEvent( QResizeEvent * ) { QPixmap pixDn = combineImageWithBackground( imgDn, pixBg, p ); for ( int i = 0; i < 10; i++ ) { - if ( !masks[i]->isNull() ) { + if ( !masks[i].isNull() ) { delete buttonPixUp[i]; delete buttonPixDown[i]; - buttonPixUp[i] = maskPixToMask( pixUp, *masks[i] ); - buttonPixDown[i] = maskPixToMask( pixDn, *masks[i] ); + buttonPixUp[i] = maskPixToMask( pixUp, masks[i] ); + buttonPixDown[i] = maskPixToMask( pixDn, masks[i] ); } } } diff --git a/noncore/multimedia/opieplayer2/audiowidget.h b/noncore/multimedia/opieplayer2/audiowidget.h index 8426490..bc7262c 100644 --- a/noncore/multimedia/opieplayer2/audiowidget.h +++ b/noncore/multimedia/opieplayer2/audiowidget.h @@ -91,6 +91,8 @@ private slots: void skipBack(); void stopSkip(); private: + typedef std::vector<QBitmap> MaskVector; + void setToggleButton( int, bool ); virtual void paintButton( QPainter &p, int i ); int skipDirection; @@ -98,7 +100,7 @@ private: QPixmap pixBg; QImage imgUp; QImage imgDn; - QBitmap *masks[10]; + MaskVector masks; QPixmap *buttonPixUp[10]; QPixmap *buttonPixDown[10]; |