summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/mediawidget.cpp
Unidiff
Diffstat (limited to 'noncore/multimedia/opieplayer2/mediawidget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/mediawidget.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/noncore/multimedia/opieplayer2/mediawidget.cpp b/noncore/multimedia/opieplayer2/mediawidget.cpp
index 2031b4d..4de7ea9 100644
--- a/noncore/multimedia/opieplayer2/mediawidget.cpp
+++ b/noncore/multimedia/opieplayer2/mediawidget.cpp
@@ -45,5 +45,5 @@ MediaWidget::~MediaWidget()
45 45
46void MediaWidget::setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount, 46void MediaWidget::setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount,
47 const QString &imagePrefix, const QSize &buttonAreaSize ) 47 const Skin &skin, const QSize &buttonAreaSize )
48{ 48{
49 buttonMask = QImage( buttonAreaSize, 8, 255 ); 49 buttonMask = QImage( buttonAreaSize, 8, 255 );
@@ -54,10 +54,10 @@ void MediaWidget::setupButtons( const SkinButtonInfo *skinInfo, uint buttonCount
54 54
55 for ( uint i = 0; i < buttonCount; ++i ) { 55 for ( uint i = 0; i < buttonCount; ++i ) {
56 Button button = setupButton( skinInfo[ i ], imagePrefix ); 56 Button button = setupButton( skinInfo[ i ], skin );
57 buttons.push_back( button ); 57 buttons.push_back( button );
58 } 58 }
59} 59}
60 60
61MediaWidget::Button MediaWidget::setupButton( const SkinButtonInfo &buttonInfo, const QString &imagePrefix ) 61MediaWidget::Button MediaWidget::setupButton( const SkinButtonInfo &buttonInfo, const Skin &skin )
62{ 62{
63 Button button; 63 Button button;
@@ -65,15 +65,12 @@ MediaWidget::Button MediaWidget::setupButton( const SkinButtonInfo &buttonInfo,
65 button.type = buttonInfo.type; 65 button.type = buttonInfo.type;
66 66
67 QString fileName = imagePrefix + buttonInfo.fileName + ".png"; 67 button.mask = setupButtonMask( button.command, skin.buttonMaskImage( buttonInfo.fileName ) );
68
69 button.mask = setupButtonMask( button.command, fileName );
70 68
71 return button; 69 return button;
72} 70}
73 71
74QBitmap MediaWidget::setupButtonMask( const Command &command, const QString &fileName ) 72QBitmap MediaWidget::setupButtonMask( const Command &command, const QImage &maskImage )
75{ 73{
76 QImage imgMask( Resource::findPixmap( fileName ) ); 74 if ( maskImage.isNull() )
77 if ( imgMask.isNull() )
78 return QBitmap(); 75 return QBitmap();
79 76
@@ -82,10 +79,10 @@ QBitmap MediaWidget::setupButtonMask( const Command &command, const QString &fil
82 uchar *line = dest[y]; 79 uchar *line = dest[y];
83 for ( int x = 0; x < buttonMask.width(); x++ ) 80 for ( int x = 0; x < buttonMask.width(); x++ )
84 if ( !qRed( imgMask.pixel( x, y ) ) ) 81 if ( !qRed( maskImage.pixel( x, y ) ) )
85 line[x] = command + 1; 82 line[x] = command + 1;
86 } 83 }
87 84
88 // ### grmbl qt2. use constructor when switching to qt3. 85 // ### grmbl qt2. use constructor when switching to qt3.
89 QBitmap bm; bm = imgMask; 86 QBitmap bm; bm = maskImage;
90 return bm; 87 return bm;
91} 88}
@@ -109,6 +106,5 @@ void MediaWidget::loadSkin( const SkinButtonInfo *skinInfo, uint buttonCount, co
109 buttonDownImage = skin.buttonDownImage(); 106 buttonDownImage = skin.buttonDownImage();
110 107
111 setupButtons( skinInfo, buttonCount, 108 setupButtons( skinInfo, buttonCount, skin, buttonUpImage.size() );
112 skinPath + QString::fromLatin1( "/skin%1_mask_" ).arg( fileNameInfix ), buttonUpImage.size() );
113} 109}
114 110