summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/audiowidget.cpp25
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp43
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.h5
-rw-r--r--noncore/multimedia/opieplayer2/videowidget.cpp25
4 files changed, 50 insertions, 48 deletions
diff --git a/noncore/multimedia/opieplayer2/audiowidget.cpp b/noncore/multimedia/opieplayer2/audiowidget.cpp
index 23d12ec..fd18dbb 100644
--- a/noncore/multimedia/opieplayer2/audiowidget.cpp
+++ b/noncore/multimedia/opieplayer2/audiowidget.cpp
@@ -94,40 +94,17 @@ AudioWidget::AudioWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
//skin = "scaleTest";
// color of background, frame, degree of transparency
QString skinPath = "opieplayer2/skins/" + skin;
backgroundPixmap = QPixmap( Resource::loadPixmap( QString("%1/background").arg(skinPath) ) );
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] = button.command + 1;
- }
- }
-
- buttons.push_back( button );
- }
+ setupButtons( skinInfo, buttonCount, QPEApplication::qpeDir() + "/pics/" + skinPath + "/skin_mask_", imgUp.size() );
setBackgroundPixmap( backgroundPixmap );
songInfo.setFocusPolicy( QWidget::NoFocus );
// changeTextColor( &songInfo );
// songInfo.setBackgroundColor( QColor( 167, 212, 167 ));
// songInfo.setFrameStyle( QFrame::NoFrame);
songInfo.setFrameStyle( QFrame::WinPanel | QFrame::Sunken );
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp
index 4c4cead..db16b44 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.cpp
+++ b/noncore/multimedia/opieplayer2/mediawidget.cpp
@@ -34,16 +34,59 @@ MediaWidget::MediaWidget( PlayListWidget &_playList, MediaPlayerState &_mediaPla
connect( &mediaPlayerState, SIGNAL( playingToggled( bool ) ),
this, SLOT( setPlaying( bool ) ) );
}
MediaWidget::~MediaWidget()
{
}
+void MediaWidget::setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount,
+ const QString &imagePrefix, const QSize &buttonAreaSize )
+{
+ buttonMask = QImage( buttonAreaSize, 8, 255 );
+ buttonMask.fill( 0 );
+
+ for ( uint i = 0; i < buttonCount; ++i ) {
+ Button button = setupButton( skinInfo[ i ], imagePrefix );
+ buttons.push_back( button );
+ }
+}
+
+MediaWidget::Button MediaWidget::setupButton( const SkinButtonInfo &buttonInfo, const QString &imagePrefix )
+{
+ Button button;
+ button.command = buttonInfo.command;
+ button.type = buttonInfo.type;
+
+ QString fileName = imagePrefix + buttonInfo.fileName + ".png";
+
+ button.mask = setupButtonMask( button.command, fileName );
+
+ return button;
+}
+
+QBitmap MediaWidget::setupButtonMask( const Command &command, const QString &fileName )
+{
+ QBitmap mask( fileName );
+ if ( mask.isNull() )
+ return mask;
+
+ QImage imgMask = mask.convertToImage();
+ uchar **dest = buttonMask.jumpTable();
+ for ( int y = 0; y < buttonMask.height(); y++ ) {
+ uchar *line = dest[y];
+ for ( int x = 0; x < buttonMask.width(); x++ )
+ if ( !qRed( imgMask.pixel( x, y ) ) )
+ line[x] = command + 1;
+ }
+
+ return mask;
+}
+
void MediaWidget::closeEvent( QCloseEvent * )
{
mediaPlayerState.setList();
}
void MediaWidget::paintEvent( QPaintEvent *pe )
{
QPainter p( this );
diff --git a/noncore/multimedia/opieplayer2/mediawidget.h b/noncore/multimedia/opieplayer2/mediawidget.h
index 8031371..148948a 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.h
+++ b/noncore/multimedia/opieplayer2/mediawidget.h
@@ -78,16 +78,21 @@ signals:
void forwardReleased();
void backReleased();
void forwardClicked();
void backClicked();
void moreClicked();
void lessClicked();
protected:
+ void setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount,
+ const QString &imagePrefix, const QSize &buttonAreaSize );
+ Button setupButton( const SkinButtonInfo &buttonInfo, const QString &imagePrefix );
+ QBitmap setupButtonMask( const Command &command, const QString &fileName );
+
virtual void closeEvent( QCloseEvent * );
virtual void paintEvent( QPaintEvent *pe );
Button *buttonAt( const QPoint &position );
virtual void mousePressEvent( QMouseEvent *event );
virtual void mouseReleaseEvent( QMouseEvent *event );
diff --git a/noncore/multimedia/opieplayer2/videowidget.cpp b/noncore/multimedia/opieplayer2/videowidget.cpp
index 4901e47..d1efaad 100644
--- a/noncore/multimedia/opieplayer2/videowidget.cpp
+++ b/noncore/multimedia/opieplayer2/videowidget.cpp
@@ -89,40 +89,17 @@ VideoWidget::VideoWidget( PlayListWidget &playList, MediaPlayerState &mediaPlaye
cfg.setGroup("Options");
skin = cfg.readEntry("Skin","default");
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] = button.command + 1;
- }
- }
-
- buttons.push_back( button );
- }
+ setupButtons( skinInfo, buttonCount, QPEApplication::qpeDir() + "/pics/" + skinPath + "/skinV_mask_", imgUp.size() );
setBackgroundPixmap( backgroundPixmap );
slider = new QSlider( Qt::Horizontal, this );
slider->setMinValue( 0 );
slider->setMaxValue( 1 );
slider->setBackgroundPixmap( Resource::loadPixmap( backgroundPix ) );
//slider->setFocusPolicy( QWidget::NoFocus );